Простое отображение в беглом nhibernate - PullRequest
0 голосов
/ 31 октября 2011

У меня есть класс Client, у которого есть атрибут собаки

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

}

Поскольку я сопоставляю существующую БД, я не могу изменить имена полей.

Когда я пытаюсь вернуть коллекцию собак, я получаю недопустимую ошибку столбца на client_id с SQL

SELECT 
dogs0_.Clients_id as Clients3_1_, 
dogs0_.Id as Id1_, 
dogs0_.Id as Id1_0_, 
dogs0_.ClientId as ClientId1_0_ 
FROM 
pooches dogs0_ 

Как я могу сделать это, используя clientid over cliet_id. Я думал, что указал это на карте собак.

1 Ответ

1 голос
/ 31 октября 2011

Вы также должны указать имя столбца для отношения один ко многим.

HasMany(x => x.Dogs)
    .KeyColumn("ClientId");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...