ASP.NET 4.0 C#,Linq to SQL:我有一个要求,一旦创建了新行,我需要将标识值写回同一行中的另一个字段。
我试过了,但没有用(未找到或更改行):
//newRow created and fields populated here
dc.Table.InsertOnSubmit(newRow);
dc.SubmitChanges();
newRow.Field = newRow.PriKey;
dc.SubmitChanges();
我还尝试将该行读入一个新变量并更新但同样的错误:
//newRow created and fields populated here
dc.Table.InsertOnSubmit(newRow);
dc.SubmitChanges();
row2 = (from r in dc.Table where r.PriKey = newRow.PriKey select r).FirstOrDefault();
row2.Field = newRow.PriKey;
dc.SubmitChanges();
我想我可以通过创建和执行我自己的 SQL 命令轻松地做到这一点,但有没有更简单的方法来做到这一点?
编辑:这包含在交易中的事实是否有所作为?
using (CMSDataContext dc = new CMSDataContext(Config.ConnString))
{
dc.Connection.Open();
dc.Transaction = dc.Connection.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);