根据查询,它看起来像
Advert.Creator
列,它似乎是
int
,与
Member Creator
模型上的属性。
将属性的名称更改为其他名称以避免名称冲突
public class Advert {
public int ID { get; set; }
public DateTime DateCreation { get; set; }
public String Title { get; set; }
public String Description { get; set; }
public virtual Member Owner { get; set; }
}
并相应地更新查询
public Advert GetById(int id) {
var connection = unitOfWork.Connection;
String sql =
@"select * from Advert AS A
inner join Member AS M on A.Creator = M.ID
where A.ID = @aid";
var data connection.Query<Advert, Member, Advert>(
sql,
(advert, member) => { advert.Owner = member; return advert; },
new { aid = id }
);
return data.Single();
}
理想情况下
广告创作者
表中的列应该是name
CreatorId
.这将允许原始代码按需要工作。