我有一个具有标识列的表,而另一列需要基于计算的标识列具有其值。
我的 EF 代码如下所示:
var context = new DBEntities();
var newTableRow = new TableRow();
newTableRow.Column1 = newTableRow.ComputedColumn;
context.TableRows.Add(newTableRow);
context.SaveChanges();
如果 ComputedColumn 是 IDENTITY 并且 Column1 是可为空的 varchar(50) 我希望 Column1 的值与 ComputedColumn 相同,但它为空。我什至试过这个:
var context = new DBEntities();
var newTableRow = new TableRow();
context.TableRows.Add(newTableRow);
context.SaveChanges();
newTableRow.Column1 = newTableRow.ComputedColumn;
context.SaveChanges();
和
var context = new DBEntities();
var newTableRow = new TableRow();
context.TableRows.Add(newTableRow);
context.SaveChanges();
var getTableRow = context.TableRows.Single(r => r.ComputedColumn == newTableRow.ComputedColumn);
getTableRow.Column1 = newTableRow.ComputedColumn.ToString();
context.SaveChanges();
请记住,这是更大交易的一部分。我不想做的是完成交易,然后在单独的交易中进行另一次更新。我想把所有东西都放在一笔交易中。这之前一直在插入过程中工作。
谢谢,
布雷特