Entity Framework可以为非空列创建具有默认值的对象吗?

3

我记得在某个地方看到过,能够使用EF生成一个对象,并且用通用值填充所有非空值。

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

我的想法是错误的吗?还是我只是语法有误?

2个回答

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

我希望有一种通用的方法来避免这种情况。数据库表不是我的,大约有50个非空列,但我只关心更新其中的几个。 - Rachel
@Rachel,抱歉,我指的是VS中的实体模型设计器。 - Jeff Ogata
那就是我要做的,如果没有一些容易的语法来替我完成。虽然我记得在某个地方看到过这种语法... - Rachel

2

您不能将空数据保存到非空列中。如果 CreateObject 方法提示您这个问题,您需要在尝试保存数据之前更改它。此外,请注意 DateTime 对象,SQL Server 的最小值与 .NET 不同。


是的,我之前遇到过DateTime值的问题,因为使用了这个最小日期1/1/1753,这是谁想出来的好主意? - Rachel
5
@Rachel,这是在公历改革后的一年。1752年因为要进行调整而缺少了一些天数,所以人们不想增加处理它的复杂性。如果你需要在.NET中获取最小的SQL服务器日期,可以使用SqlDateTime.MinValue。 - PeteT
@PeteT 谢谢,我不知道那个。我一直在硬编码它 :) - Rachel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接