我有一个类客户端,它具有狗的属性
public class ClientsMap : ClassMap<Clients>
{
public ClientsMap()
{
Id(x => x.ClientID);
HasMany(x => x.Dogs);
}
}
public class Client
{
public virtual IList<Dog> Dogs { get; set; }
public virtual int ClientID { get; set; }
}
和一类引用客户的狗。
public class Dog
{
public virtual Clients Client { get; private set; }
public virtual int Id { get; set; }
}
public class DogMap : ClassMap<Dog>
{
public DogMap()
{
Table("Pooches");
Id(x => x.Id);
References(x => x.Client).Column("ClientId");
}
}
因为我正在映射到现有数据库,所以我无法更改字段名称。
当我尝试返回狗集合时,我在带有SQL
的client_id上收到了无效的列错误SELECT
dogs0_.Clients_id as Clients3_1_,
dogs0_.Id as Id1_,
dogs0_.Id as Id1_0_,
dogs0_.ClientId as ClientId1_0_
FROM
pooches dogs0_
如何在cliet_id上使用clientid。我以为我在狗地图中指定了这个。
答案 0 :(得分:1)
您还应该在一对多关系中指定列名。
HasMany(x => x.Dogs)
.KeyColumn("ClientId");