C# MVC3命名以数字开头的列
我是MVC3 C的新手。我需要在数据库中有一个名为C# MVC3命名以数字开头的列,c#,entity-framework,ef-code-first,C#,Entity Framework,Ef Code First,我是MVC3 C的新手。我需要在数据库中有一个名为3DSecureStatus的列,用于遗留用途 调用列this并在应用程序中插入时,出现以下错误: [ModelValidationException:检测到一个或多个验证错误 在模型生成过程中: System.Data.Edm.EdmProperty:名称:不允许使用指定的名称: “\u 3DSecureStatus”。] 在应用程序中,我将其定义为publicstring\u3dsecurestatus{get;set;},因为它不喜欢3作为
3DSecureStatus
的列,用于遗留用途
调用列this并在应用程序中插入时,出现以下错误:
[ModelValidationException:检测到一个或多个验证错误
在模型生成过程中:
System.Data.Edm.EdmProperty:名称:不允许使用指定的名称:
“\u 3DSecureStatus”。]
在应用程序中,我将其定义为publicstring\u3dsecurestatus{get;set;}
,因为它不喜欢3
作为列名的第一个字符
有什么建议吗?将
\u 3DSecureStatus
重命名为其他名称
实体框架代码首先不允许属性/列在名称的开头有下划线或数字
因此,您必须更改它,直到修复为止。这实际上是一个实体框架错误,而不是MVC错误。从谷歌搜索中可以看出,以下划线作为代码开头的第一个字段名无效且不起作用。如果可以,请尝试在其前面放置一个字母。使用该属性指定数据库列名
[Column("3DSecureStatus")]
public string ThreeDSecureStatus { get; set; }
或者使用流畅的映射,比如
Property(x => x.ThreeDSecureStatus).HasColumnName("3DSecureStatus");
请准确显示失败的代码整个应用程序都不工作,这是我运行时遇到的错误it@Beginner,您能否调试应用程序并逐步完成,并向我们显示它失败的地方?或者至少提供一个堆栈跟踪。在表中,我需要它是3dsecurestatus。当我收到sage的帖子时,它称之为3DSecureStatusName。另外,我正在尝试找到一个解决方案。但看看它是否有效很有趣。您不需要使用与Sage调用完全相同的名称。