我是MVC3 C#的新手。我需要在数据库中有一个名为3DSecureStatus
的列用于遗留目的。
当我调用此列并在应用程序中插入时,我收到此错误:
[ModelValidationException:检测到一个或多个验证错误 在模型生成期间:
System.Data.Edm.EdmProperty:名称:不允许指定的名称: '_3DSecureStatus'。 ]
在应用程序中,我将其定义为public string _3DSecureStatus { get; set; }
,因为它不希望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字段名称的开头是无效的,并且不起作用。如果可以,请尝试在其前面写一个字母。