SQL Server表列中的默认值未出现在实体中。
这是正常行为吗?
我试图搞清楚但没有结果。 谢谢你的帮助。
答案 0 :(得分:2)
实体在设计器中设置了自己的默认值。右键单击您的实体,然后选择属性以查看默认值。
答案 1 :(得分:1)
你可以告诉实体框架,数据库将通过在edmx文件的SSDL中编辑该属性来处理该属性。
首先
<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" />
我们已将其更改为
<Property Name="CompanyName" Type="nvarchar" Nullable="false" MaxLength="40" StoreGeneratedPattern="Computed" />
通过设置storeGeneratedPattern =“Computed”,我们可以告诉EF,DB将插入属性值。
编辑SSDL
2.Ctrl + F属性的名称,只需更改该属性
答案 2 :(得分:0)
实体框架为每个属性提供显式值。在SQL中,您可以编写一个查询,将值插入[Field1]
并将[Field2]
和[Field3]
留空,它们将使用数据库默认值。但是由于Entity Framework基于实体上定义的属性生成查询,所以所有列都将被赋予一个值,所以如果你想提供一个默认值,它需要在设计器中设置,我不认为它会在创建实体模型时自动获取。