如何使用两列不是键的对象将对象映射到另一对象内?
public class Car
{
public virtual int Id { get; set; }
public virtual int AccountId { get; set; }
}
public class UserAccount
{
public virtual int Id { get; set; }
public virtual int UserId{ get; set; }
public virtual int AccountId { get; set; }
}
public class User
{
public virtual int Id { get; set; }
public virtual int Name { get; set; }
}
假设我想让所有拥有User.Name为“joe”的汽车。我如何用流利的nhibernate映射/查询这些?
public Car()
{
Table("Car");
Id(x => x.Id).Column("ID").GeneratedBy.Native();
Map(x => x.AccountId);
References(x => x.Account); // ?? needs to map accountid with the Account.Id...
}
答案 0 :(得分:0)
如果要映射引用,则需要类型,而不是键。
public class Car
{
public virtual int Id { get; set; }
public virtual UserAccount Account { get; set; }
}
然后你会像这样映射它
public Car()
{
Table("Car");
Id(x => x.Id).Column("ID").GeneratedBy.Native();
References(x => x.Account, "AccountId");
}