Okay, so ich habe zwei Tabellen:Fluent NHibernate, stuggling mit einer Eins-zu-viele-Beziehungen
Companies
| id int
| name varchar(50)
und
Contacts
| id int
| name varchar(50)
| companyID int
In meinem Code habe ich folgende Klassen
public class Company
{
public int Identity { get; set; }
public string Name { get; set; }
public IList<Contact> Contacts { get; set; }
}
und
public class Contact
{
public int Identity { get; set; }
public string Name { get; set; }
public Company Company { get; set; }
}
Und meine fließend nhibernate Mappings wie so:
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();
}
}
und
public class ContactMapping : ClassMap<Contact>
{
public ContactMapping()
{
WithTable("Contacts");
Id(x => x.Identity, "Id");
References<Company>(x => x.Company, "CompanyID");
Map(x => x.Name);
}
}
Doch wenn ich versuche, die Company.Contacts Eigenschaft ich die folgende Fehlermeldung erhalten Zugriff auf
Invalid column name 'Company_id'.
Invalid column name 'Company_id'.
(ja zweimal in einer Nachricht)
offensichtlich die Schlüsselspalte auf der Kontakte-Tabelle wird nicht aufgerufen, company_id es heißt CompanyID
Also, was mache ich falsch? Ich kann nicht zu setzen scheinen, was die Schlüsselspalte als WithKeyColumn nicht zu existieren scheint (es ist, was ich in anderen Lösungen Menschen getan haben, gefunden haben, aber sie könnten eine andere Version von fließend nhibernate mir verwenden)
Vielen Dank im Voraus