【问题标题】:How to write null to Guid? field in DB?如何将 null 写入 Guid?数据库中的字段?
【发布时间】:2012-07-16 22:50:04
【问题描述】:
我有向导吗?我的 POCO 中的字段,当我在我的数据库中创建一个新条目并通过 SSMSE 查看它时,我在该字段中看到 NULL。在为这个新用户条目选择了一个经理之后,guid?字段被更新以保存新经理的 id。但是,如果我想将用户改回没有经理,如何将字段设置回 NULL?
我应该使用 Guid 而不是 Guid?而是将 Guid.Empty 写入数据库?
【问题讨论】:
标签:
sql
asp.net-mvc
entity-framework
【解决方案1】:
我应该使用 Guid 而不是 Guid?而是将 Guid.Empty 写入数据库?
不是真的。你可以这样做,但你不会真正获得太多。从语义上讲,如果某个字段没有“无”值,则 NULL 是正确的值。您所说的是使用magic value。
如何将字段设置回 NULL?
在您的 POCO 上将 Guid? 设置为 null。例如,如果您的 POCO 看起来像这样:
public class Poco
{
public Guid? Manager { get; set; }
}
像这样将其设置为 null:
somepocoinstance.Manager = null;
然后提交更改。