0

キーではない 2 つの列を使用してオブジェクトを別のオブジェクト内にマップするにはどうすればよいでしょうか?

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; }
}

「joe」という User.Name を持つすべての車を取得したいとしましょう。これらを流暢な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...
    }
4

1 に答える 1

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");
}
于 2013-10-04T17:15:12.323 に答える