Хорошо, так у меня есть две таблицы:Fluent NHibernate, stuggling с один-ко-многим
Companies
| id int
| name varchar(50)
и
Contacts
| id int
| name varchar(50)
| companyID int
В моем коде у меня есть следующие классы
public class Company
{
public int Identity { get; set; }
public string Name { get; set; }
public IList<Contact> Contacts { get; set; }
}
и
public class Contact
{
public int Identity { get; set; }
public string Name { get; set; }
public Company Company { get; set; }
}
И мои беглые отображения NHibernate, как так:
public class CompanyMapping : ClassMap<Company>
{
public CompanyMapping()
{
WithTable("Companies");
Id(x => x.Identity, "Id");
Map(x => x.Name);
HasMany<Contact>(x => x.Contacts)
.Inverse()
.LazyLoad()
.Cascade.All()
.AsList();
}
}
и
public class ContactMapping : ClassMap<Contact>
{
public ContactMapping()
{
WithTable("Contacts");
Id(x => x.Identity, "Id");
References<Company>(x => x.Company, "CompanyID");
Map(x => x.Name);
}
}
Но когда я пытаюсь получить доступ к свойству Company.Contacts я получаю следующую ошибку
Invalid column name 'Company_id'.
Invalid column name 'Company_id'.
(да два раза в одном сообщении)
очевидно, что ключевой столбец в таблице контактов не называется Company_id, он называется CompanyID
Так что я делаю неправильно? Я не могу показать, что ключевой столбец, как WithKeyColumn, кажется, не существует (это то, что я нашел в других решениях, которые сделали люди, но они могут использовать для меня другую версию свободного nhibernate)
заранее спасибо