2011-10-12 62 views
2

我以为我看到有些东西可以在EF中生成一个对象,并且所有非空值都使用泛型值填充。实体框架可以使用非空列的默认值创建对象吗?

我试过使用context.CreateObject<MyEntity>(),但是我仍然遇到了关于试图将NULL数据保存到非空列的错误。

我误解了吗?或者我只是有错误的语法?

回答

3

在模型设计器中,您可以在属性表中为每个字段输入默认值。

enter image description here

+0

我希望有一种通用的方式来避免这种情况。数据库表不是我的,有大约50个非空列,其中我真的只关心更新少数列。 – Rachel

+0

@Rachel,对不起,我的意思是VS中的实体模型设计师。 –

+0

这就是我要做的,如果没有一些简单的语法来为我做。我以为我读过的地方,虽然有... – Rachel

2

您不能将空数据保存到不可空列。如果CreateObject方法给你,你需要在尝试保存数据之前改变它。另外,请注意DateTime对象,SQL服务器具有不同于.NET的最小值。

+0

是啊,我有问题,与正因为如此,在过去的DateTime值。谁认为将最低日期设定为1/1/1753是个好主意? – Rachel

+5

@Rachel是公历改为公历之后的一年。 1752有一些日子没有做出调整,他们不想增加处理它的复杂性。如果你需要.NET中的min sql server date,你可以使用SqlDateTime.MinValue来获取它。 – PeteT

+0

@PeteT谢谢,我不知道。我一直硬编码它:) – Rachel