Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC3命名以数字开头的列_C#_Entity Framework_Ef Code First - Fatal编程技术网

C# MVC3命名以数字开头的列

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作为

我是MVC3 C的新手。我需要在数据库中有一个名为
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调用完全相同的名称。