为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Dapper映射嵌套对象列表

如何使用Dapper映射嵌套对象列表

慕哥6287543 2019-11-22 16:10:37
我目前正在使用Entity Framework进行数据库访问,但想看看Dapper。我有这样的课程:public class Course{   public string Title{get;set;}   public IList<Location> Locations {get;set;}   ...}public class Location{   public string Name {get;set;}   ...}因此,可以在多个位置教授一门课程。Entity Framework为我执行了映射,因此我的Course对象中填充了位置列表。我将如何使用Dapper做到这一点,甚至有可能还是我必须在几个查询步骤中做到这一点?
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

无需lookup字典


var coursesWithLocations = 

    conn.Query<Course, Location, Course>(@"

        SELECT c.*, l.*

        FROM Course c

        INNER JOIN Location l ON c.LocationId = l.Id                    

        ", (course, location) => {

            course.Locations = course.Locations ?? new List<Location>();

            course.Locations.Add(location); 

            return course;

        }).AsQueryable();


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 975 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信