C# .net SqlQuery怎么填充复杂对象

SqlQuery的一般用法如下:

public class A
{
public int a{ get; set; }
public int b{ get; set; }
}
List<A> reault = Database.SqlQuery<A>(sql, sql_parameters).ToList();

现在我想填充更复杂的对象B,该怎么修改?
希望调用以下语句可以实现填充

List<B> reault = Database.SqlQuery<B>(sql, sql_parameters).ToList();
public class B
{
public A a{ get; set; }
public int c{ get; set; }
}
阅读 1.2k
1 个回答
新手上路,请多包涵

以前也遇到过这个问题,最后是使用了 https://www.pa-roy.com/raw-sq... 描述的实现方法,其本质是在内部打开连接,使用 AutoMapper.Data 库将 IDataReader/IDataRecord 映射到为自定义对象。使用这个方法要注意你的 class B 有复杂类型 A,需要自定义一下映射配置,可以查一下 AutoMapper内嵌类型配置方法 和 AutoMapper.Data 的文档。
另外efcore5.0有 https://docs.microsoft.com/en... 也可以参考一下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题