C# 使用Dapper one表映射到嵌套对象

C# 使用Dapper one表映射到嵌套对象,c#,dapper,C#,Dapper,我有一个包含以下列的表: |UserId | UserName | SortCode | AccountNumber| 我有下面的C类 public class User { public int UserId { get; set; } public string UserName { get; set; } public Account Account { get; set; } } public class Account { public str

我有一个包含以下列的表:

|UserId | UserName | SortCode | AccountNumber|

我有下面的C类

    public class User
{
    public int UserId { get; set; }
    public string UserName { get; set; }
    public Account Account { get; set; }
}

public class Account
{
    public string SortCode { get; set; }
    public string AccountNumber { get; set; }
}
我需要将SortCode列映射到Account.SortCode对象。帐号也一样

我在尝试这样的事情

 const string query = @"SELECT UserId, UserName, SortCode AS [Account.SortCode], AccountNumber AS [Account.AccountNumber], FROM [dbo].[Users];";

 return db.Query<User>(query);
但它不起作用。 有什么帮助吗


谢谢

在@Amy的评论之后,这就成功了:

    const string query = @"SELECT * FROM [dbo].[Users];";

    return db.Query<User, Account, User>(query, (user, account) => 
    {
       user.Account = account;
       return user;
    }, splitOn: "UserId");

谢谢

在@Amy的评论之后,这就成功了:

    const string query = @"SELECT * FROM [dbo].[Users];";

    return db.Query<User, Account, User>(query, (user, account) => 
    {
       user.Account = account;
       return user;
    }, splitOn: "UserId");

谢谢

Dapper并不试图理解对象之间的关系。你必须告诉它如何把它们联系起来。查看关于多重映射的简洁文档。简洁并不试图理解对象之间的关系。你必须告诉它如何把它们联系起来。查看有关多重映射的简洁文档。