C# 获取第一个表中插入的值到第二个表中

C# 获取第一个表中插入的值到第二个表中,c#,sql,sql-server,asp.net-mvc,C#,Sql,Sql Server,Asp.net Mvc,我有两个关于事务范围的查询。我需要将第一个表的插入值插入到我的明细表中。在这里,第一个表中的myNewsId是主键,是一个自动递增的键。我需要将该id插入第二个表(Detailtable) 请在下面核对我的答案 transaction = con.BeginTransaction(); string query1 ="Insert Into ABC(NewsCode,Comment) output INSERTED.ID Values (@NewsCode,@Comment)"; cmd =

我有两个关于事务范围的查询。我需要将第一个表的插入值插入到我的明细表中。在这里,第一个表中的my
NewsId
是主键,是一个自动递增的键。我需要将该id插入第二个表(
Detail
table)


请在下面核对我的答案

transaction = con.BeginTransaction();
string query1 ="Insert Into ABC(NewsCode,Comment) output INSERTED.ID Values (@NewsCode,@Comment)"; 
cmd = db.GetSqlStringCommand(query1);
cmd.Transaction = transaction;
cmd.Connection = con;

db.AddInParameter(cmd, "NewsCode", DbType.Int32, News.NewsCode);
db.AddInParameter(cmd, "Comment", DbType.String,News.Comment);

int modifiedRowId =(int)cmd.ExecuteScalar();

这就是你能做的

foreach (var item in NewsTotal.items) { 
string newsItemsQuery = @"INSERT INTO [dbo].[TBL_T_NewsItems] ([NewsId],[ItemId]) SELECT NewsId, ItemId FROM ABC"; 
 }

这不可能知道吗?因为我在事务范围内,所以请查看@simonare的答案。您可以使用的另一个选项是在ABC表上创建一个用于插入的触发器,并将新生成的ID存储在另一个表中。。。
foreach (var item in NewsTotal.items) { 
string newsItemsQuery = @"INSERT INTO [dbo].[TBL_T_NewsItems] ([NewsId],[ItemId]) SELECT NewsId, ItemId FROM ABC"; 
 }