只要我坚持只读操作,L2SQL看起来很棒。只要我需要开始改变领域,事情会变得有点多毛。使用Linq-2-SQL插入和更新
特别是,我遇到了两个不同的问题。
首先,我试图填充任意数量的行的表。该模式大多不相关,但它确实有一个'BIGINT'主键,它是标识列。因为主键是一个标识,所以在调用Table.InsertOnSubmit()或Table.InsertAllOnSubmit()之前我没有设置它,而且我产生了一个DuplicateKeyException:“不能添加一个实体已在使用中。”
我的第二个问题,从需要LINQ等同于以下SQL语句茎:
UPDATE dbo.someTable SET someCol = 'someValue' WHERE pkValue = 20
如果我第一次查询所需要的行,然后换一个DataContext.SubmitChanges(前someCol的价值),都是精细。 但是,我正在寻求一种解决方案,不需要我先查询该行。换句话说,如果主键是已知数量,那么如何执行?
你很可能是正确的第二部分。但是我很遗憾,我对SPROC知之甚少,并且在我能够考虑这个解决方案之前必须学会自己。 – Kivin 2009-04-19 07:39:06