0
我正在试图用Dapper(和失败)做以下事情。我如何获得多映射在Dapper中工作?
我的波苏斯(简化所有代码)是:
public class Company
{
public int CompanyId { get; private set; }
public string CompanyName { get; private set; }
public Person CompanyAddress { get; private set; }
public Person Administrator { get; private set; }
}
public class Person
{
public int PersonId { get; private set; }
public string FirstName { get; private set; }
public string LastName { get; private set; }
}
在公司表有一个公司地址FK它映射,将personId PK Person表中的数据库和管理员。基于this和this我认为follwoing是我要如何做到这一点:
public static Company Select(IDbConnection connection, int id)
{
Trap.trap();
return connection.Query<Company, Person, Person, Company>("select * from Company left join Person address on Company.CompanyAddress = address.PersonId left join Person admin on Company.Administrator = admin.PersonId where Company.CompanyId = @Id",
(cmpy, addr, admin) => new { PersonId = id }).FirstOrDefault();
}
但是,这给了我一个编译错误的“新{PERSONID = ID}”。我错了什么?
这给出了@Id需要定义的错误。我放弃了Dapper,我花了更多的时间试图让这个工作,而不是仅仅处理选择自己。并用尽你的时间 - 对不起。 – 2014-09-19 14:57:03