如何从动态对象中找到具有重复名称的第二个属性?

时间:2015-04-28 15:13:16

标签: dapper

使用Dapper我有一个结果集,其中包含两个具有相同名称的SQL列。我如何阅读这些值?

UserSkill表都有一个名为Name的列。

我的代码示例:

var query = _connection.Query(@"
    select u.*, s.* 
    from [User] u 
    left join Skill s ON s.UserID = u.UserID
    where Username=@Username", 
    new { Username }
);

1 个答案:

答案 0 :(得分:2)

不会有两个name属性。在我的简短调查中,结果包含了名字,但我确信这不能保证。

要同时获取name,您需要在sql中为一列或两列添加别名:

var query = _connection.Query(@"
    select u.name as user_name, s.name as skill_name 
    from [User] u 
    left join Skill s ON s.UserID = u.UserID
    where Username=@Username", 
    new { Username }
);