MVC3命名以数字开头的列

时间:2011-08-26 11:21:14

标签: c# entity-framework ef-code-first

我是MVC3 C#的新手。我需要在数据库中有一个名为3DSecureStatus的列用于遗留目的。

当我调用此列并在应用程序中插入时,我收到此错误:

  

[ModelValidationException:检测到一个或多个验证错误   在模型生成期间:

     

System.Data.Edm.EdmProperty:名称:不允许指定的名称:   '_3DSecureStatus'。 ]

在应用程序中,我将其定义为public string _3DSecureStatus { get; set; },因为它不希望3成为列名的第一个字符。

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

使用Column属性指定数据库列名称

[Column("3DSecureStatus")]
public string ThreeDSecureStatus { get; set; }

或使用流畅的映射,如

Property(x => x.ThreeDSecureStatus).HasColumnName("3DSecureStatus");

答案 1 :(得分:1)

_3DSecureStatus重命名为其他内容。

实体框架代码首先不允许属性/列在名称的开头加上下划线或数字。

所以你必须改变它,直到修复它。

答案 2 :(得分:1)

这实际上是一个实体框架错误,而不是MVC错误。它看起来像是一些谷歌搜索,强调Code First字段名称的开头是无效的,并且不起作用。如果可以,请尝试在其前面写一个字母。