实体框架映射错误的数据类型

时间:2017-09-07 19:10:33

标签: c# entity-framework mapping store ef-database-first

我有一个数据库,其视图具有整数FK。当我在VS中创建模型并查看图表时,视图将列作为字符串/ varchar。我已经删除了表并重新添加了它,但它仍然创建了一个带有字符串属性的实体。

如果我选择视图然后在属性中将类型更改为Int32,则构建完成且没有错误,但在第一次调用DB上下文时断言,表示存储和模型不匹配。

数据库表:

TariffKey : int
CompanyKey : int
ChargeTypeKey : int
ChargeTypeName : varchar(80)
Value : numeric
StartDate : datetime
EndDate : datetime

模型映射:

TariffKey : int (Int32)
CompanyKey : int (Int32)
ChargeTypeKey : varchar (String)
ChargeTypeName : varchar (String)
Value : numeric (Decimal)
StartDate : datetime (DateTime)
EndDate : datetime (DateTime)

1 个答案:

答案 0 :(得分:0)

模特的商店是问题孩子。因此,即使我从图中更改了数据类型,商店仍然将varchar映射到该字段。我跟随了来自Update Model from Database does not see a type change

的Mat的回答