SQL Server默认值未显示为实体默认值

时间:2011-06-17 20:15:08

标签: sql-server entity-framework entity

SQL Server表列中的默认值未出现在实体中。

这是正常行为吗?

我试图搞清楚但没有结果。 谢谢你的帮助。

3 个答案:

答案 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

  1. 右键单击edmx文件,使用XML(文本)编辑器打开。
  2. 2.Ctrl + F属性的名称,只需更改该属性

答案 2 :(得分:0)

实体框架为每个属性提供显式值。在SQL中,您可以编写一个查询,将值插入[Field1]并将[Field2][Field3]留空,它们将使用数据库默认值。但是由于Entity Framework基于实体上定义的属性生成查询,所以所有列都将被赋予一个值,所以如果你想提供一个默认值,它需要在设计器中设置,我不认为它会在创建实体模型时自动获取。