日期:2014-05-18  浏览次数:20408 次

关于Guid与uniqueidentifier类型,可能是VS2005的BUG
ASP.NET中GUID与SQL中的UNIQUEIDENTIFIER类型是对应的,在数据库中的一uniqueidentifier类型的列,设置为外键,充许空.
在程序中,需要String类型的null值初始化为Guid类型的没有值(不是空值,Guid类型的空值Guid.Empty是串零),再插入数据库的外键列,在数据库中为空.这里没办法实现,请各位大虾会想想办法.

------解决方案--------------------

在程序中,需要String类型的null值初始化为Guid类型的没有值(不是空值,Guid类型的空值Guid.Empty是串零),再插入数据库的外键列,在数据库中为空.这里没办法实现,请各位大虾会想想办法.
=======
看不懂虾米意思?

你根本就无法用 null 去实例化 Guid,会丢 ArgumentNullException

怎会没有办法实现?

当然直接插入空值 NULL 了

你用 Guid.Empty 实际上已经表示了一个具体的值了


------解决方案--------------------
在插入数据库前,检查是否为Guid.Empty,是的话,将数据设成DBNull.Value
------解决方案--------------------
楼主的数据访问代码贴出来看看