为什么Entity Framework坚持重命名列?

时间:2015-09-01 19:58:55

标签: entity-framework

步骤1:首先从现有数据库导入代码。现有数据库有一个与列名相同的表。

第2步:在这种情况下,实体框架坚持" 1"在代码中的列名前面。

第3步:当我尝试重命名时,#34;在前面摆脱1",我得到错误

  

成员名称不能与其封闭类型

相同

为什么对EF有这种限制,是否有一种解决方案在未来的迁移过程中不会破坏数据库(通过重命名该列)?

被迫使用Column1似乎非常可怕和随意。

感谢。

1 个答案:

答案 0 :(得分:1)

正如@ shf301指出的那样,你不能拥有一个名为与其类相同的属性,这是一个.NET限制。

但是,您可以将列命名为其他任何名称,然后告诉EF指向数据库中的特定列

例如:

[Column("MyColumn")] // "MyColumn" will be what EF expects in the db
public int FlyingMonkies {get;set;}