C# 获取第一个表中插入的值到第二个表中
我有两个关于事务范围的查询。我需要将第一个表的插入值插入到我的明细表中。在这里,第一个表中的myC# 获取第一个表中插入的值到第二个表中,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 =
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";
}