命名以数字开头的列

本文关键字:开头 数字 | 更新日期: 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字段名称的开头是无效的,并且不起作用。如果可以的话,试着在它前面加一个字母。