如何在不使用Entity Framework和数据表的情况下将C#中的复杂对象插入SQL Server(我考虑过Dapper.Contrib但它只适用于实体)。
我现在使用存储过程和Dapper,但我只能插入一个对象,而且 - 只能使用动态参数,所以它不是我想要的。
例如:
DynamicParameters p = new DynamicParameters();
p.Add("ID", user.UserInformation.ID);
p.Add("DELEGATORID", user.UserRole.DelegateID ?? string.Empty);
p.Add("APPROVER", user.UserRole.Approver);
p.Add("DELEGATOR", user.UserRole.IsDelegator);
p.Add("SEARCHTEXT", searchText);
然后插入。但是我需要再做两次插入。
例如 - 我希望在存储过程中插入3个复杂对象,然后为每个对象执行3个存储过程
感谢。
答案 0 :(得分:0)
理想情况下,您使用ORM来处理这个问题但是一个选项是使用原始SQL字符串,因为您将整个查询构建为字符串(或多个字符串),对其进行参数化并执行它。一个快速的谷歌给出了这里的例子; https://codereview.stackexchange.com/questions/59863/transaction-handling-for-multiple-sql-statements。重点是:
答案 1 :(得分:0)