2
好了,所以我有兩個表:功能NHibernate,有一個一對多的關係都有點吃力
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; }
}
and
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,它叫做公司ID
那麼我在做什麼錯了?我似乎無法將Key Column設置爲WithKeyColumn似乎不存在(這是我在其他人所做的解決方案中發現的,但他們可能會使用不同版本的流暢的nhibernate給我)
在此先感謝