我已经生成了linq to sql实体,但不知道如何将null赋值给可为空的列。每当我尝试将null赋值给它时,它都会显示“int和之间没有隐式类型转换”。顺便说一下,字段的类型是int吗?并且数据库列也可以为空。
发布于 2008-10-21 18:35:01
请尝试为其分配System.DBNull
发布于 2008-10-21 18:21:13
似乎该列并不是真的可以为空的。检查列的属性,看看它是否真的被标记为可空。如果不是,请检查您的数据库模型,并尝试重新创建LINQ to SQL模型(如果它在数据库中可为空)。
请注意,您不能简单地在LINQ to SQL模型中将其标记为可空,而不是在数据库中,因为这些类型的差异可能会导致您的LINQ to SQL模型停止工作。
编辑后更新:我可以看到字段类型是int?,这与Nullable<int>相同,所以将其设置为null应该不会有问题。但是,在获取整数值时,应使用int?的Value属性。这是问题所在吗?
发布于 2008-10-21 20:57:47
通常,在将数据库值与null进行赋值或比较时,我必须使用DBNULL.Value。
https://stackoverflow.com/questions/222871
复制相似问题