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

How can I find a second property with a duplicate name from a dynamic object?

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

UserSkill table 都有一个名为 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 }
);

不会有两个 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 }
);