日期:2014-05-20  浏览次数:20880 次

Linq 插入数据时报错:主键不能插入NULL值
再在使用LINQ 插入数据时遇到个问题,一直报错:主键不能插入NULL值。在网上搜了好久,找到一个和我遇到的问题类似的,可是他是因为表的主键和外键相同引起的,我的表并没有设外键。我的表的主键是UniqueIdentifier NOT NULL类型的,在程序里用System.Guid.NewGuid() 生成主键值,但是在插入的时候一直报主键不能插入NULL值的错误,我在跟踪的时候,看到主键明明是有值的,可是在SubmitChanges时就报错了。请大侠们帮忙解决一下。
------解决方案--------------------
你是不是列的顺序不一样,把别的列插到主键列了
------解决方案--------------------
引用:
Solution sol= new Solution();//新建一个表的映射对象
sol.SolutionID = System.Guid.NewGuid();//这个是主键列
sol.SolutionName = TextBox1.Text;
sol.ViewCount = 0;
sol.DownLoadCount = 0;
sol.SolutionDescription = TextBox2.Text;
sol.ProductsUsed = TextBox3.Text;
sol.Applicability = TextBox4.Text;
sol.ChiefAdvantage = TextBox5.Text;
sol.ReleaseDate = System.DateTime.Now;
以上是我的给表Solution各个字段赋值的语句,1楼说可能是列的顺序不一样,用Linq插入的时候和列的顺序应该没有关系吧


主键就是不能为NULL值的, 赋值看起来没有问题,那个到summitchanges之间的语句呢?
------解决方案--------------------
我也遇到了同样的问题,借鉴了。