gpt4 book ai didi

c# - 在没有 Entity Framework 和数据表的情况下将 C# 中的复杂对象插入到 SQL Server 中

转载 作者:行者123 更新时间:2023-11-30 18:16:31 26 4
gpt4 key购买 nike

如何在不使用 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);

然后插入。但是我需要再插入 2 个。

例如 - 我想将 3 个复杂对象插入到存储过程中,然后为每个对象执行 3 个存储过程

谢谢。

最佳答案

理想情况下,您会使用一个 ORM 来处理这个问题,但一种选择是使用原始 SQL 字符串,因为您将整个查询构建为一个字符串(或多个字符串),对其进行参数化并执行。一个快速的谷歌在这里给出了例子; https://codereview.stackexchange.com/questions/59863/transaction-handling-for-multiple-sql-statements .重要的注意事项是;

  • 值是参数化的
  • 语句作为事务执行(因此在出现问题时全部回滚

关于c# - 在没有 Entity Framework 和数据表的情况下将 C# 中的复杂对象插入到 SQL Server 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46429042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com