实体模型-如何在插入时使用数据库的默认列值

本文关键字:数据库 默认 插入 实体模型 | 更新日期: 2023-09-27 18:03:33

我使用的是SQLServer 2008, WebForms, c#, framework3.5, Entity Framework 1我从数据库中生成实体模型。

我的数据库有各种表&让我们以一个表用户为例它有字段id, name, email, created_on, is_active, is_on_leaveis_active和on_leave属性的默认值在db

中默认为0(零)

但是当我尝试使用实体模型在这个表中插入一条记录时,它在这些字段中保存NULL。如何避免这种情况?我不想从我的页面为他们设置一个值,并希望使用DB中提到的一个。

我怎么才能做到呢?

实体模型-如何在插入时使用数据库的默认列值

这些列可以为空。在设计器中右键单击属性,选择属性,并在属性窗口中为属性设置StoreGeneratedPatern。我发现了类似的问题:设置EF设计器日期时间的默认值

数据库中的is_activeis_on_leave列是可空的。如果您将它们设置为非空,则在执行插入操作时应使用默认值。

ALTER TABLE [user] ALTER COLUMN [is_active] DEFAULT(0) NOT NULL
ALTER TABLE [user] ALTER COLUMN [is_on_leave] DEFAULT(0) NOT NULL
GO
相关文章: