命名以数字开头的列
本文关键字:开头 数字 | 更新日期: 2023-09-27 18:06:39
我是c#新手。我需要在数据库中有一个列称为3DSecureStatus
用于遗留目的。
当我调用这个列并插入到应用程序中时,我得到了这个错误:
[ModelValidationException:检测到一个或多个验证错误。在模型生成期间:
System.Data.Edm。EdmProperty: Name:指定的名称是不允许的:"_3DSecureStatus"。)
在应用程序中,我将其定义为public string _3DSecureStatus { get; set; }
,因为它不喜欢3
作为列名的第一个字符。
有什么建议吗?
使用Column属性指定数据库列名
[Column("3DSecureStatus")]
public string ThreeDSecureStatus { get; set; }
或者使用像
这样的流畅映射Property(x => x.ThreeDSecureStatus).HasColumnName("3DSecureStatus");
重命名_3DSecureStatus
实体框架代码优先不允许属性/列在名称的开头有下划线或数字。
所以你必须修改这个直到它被修复
这实际上是一个实体框架错误,而不是MVC错误。从谷歌搜索来看,下划线作为Code First字段名称的开头是无效的,并且不起作用。如果可以的话,试着在它前面加一个字母。