【发布时间】:2015-12-30 02:06:59
【问题描述】:
在我的db 表中,我有一个sessId 的sessId 列uniqueidentifier 使用函数newid() 设置。但是当我插入一条记录时,sessId 生成为00000000-0000-0000-0000-000000000000。
我认为这是一个系统错误,所以我运行了select newid(),它生成了一个新的id。但是为什么列会插入那些 zeros?
【问题讨论】:
-
如何插入行?例如,如果您使用实体框架,则必须设置 Guid 或使其可为空。 Guid 的默认值是全零,所以当它到达数据库时它有一个值并且不使用 sql 默认值。
-
@Crowcoder 我使用 EF saveChanges()
-
对,所以你必须给这个字段一个值或者让它可以为空:
Guid? -
@Crowcoder 我正在检查代码以检查是否插入了 brb
-
自从引入代码优先以来,我没有首先使用 EF 数据库,但我认为您可以在设计器中以某种方式修改类。但是你可以给会话 id 一个
Guid.NewGuid()而不是试图让数据库来做。
标签: sql-server tsql sql-server-2008-r2 entity-framework-5