Fluente Nhibernate Hasmany Foreign Key Mapping Problem
-
12-11-2019 - |
Domanda
Sto cercando di mappare una semplice struttura di dati in NHibernate
Tabelle:
Employees
employeeID int
username varchar(30)
departmentID int
Departments
departmentID int
deptName varchar(50)
La mappatura del mio dipartimento è così:
public class DepartmentMap: ClassMap<Department>
{
public DepartmentMap()
{
Id(m => m.DepartmentID).Column("departmentID");
Map(m => m.DepartmentName).Column("deptName").Length(50);
HasMany(m => m.Employees);
Table("Departments");
}
}
... e la mappatura dei dipendenti
public class EmployeeMap : ClassMap<Employee>
{
public EmployeeMap()
{
Id(x => x.EmployeeID, "employeeID");
Map(x => x.UserName, "username").Length(30);
References<Department>(x => x.Department, "departmentID");
Table("Employees");
}
}
Sto cercando di girare attraverso i dipartimenti e tirare tutti i dipendenti da ciascun dipartimento:
foreach (var i in _directoryData.DepartmentCollection)
{
foreach (var e in i.Employees)
{
Debug.WriteLine(i.DepartmentName + " " + e.UserName);
}
}
Il che mi dà un errore affermando "Invalid column name 'Department_id'.
"... e nella query generata utilizza anche dipartimone_id. Quando faccio il giro attraverso i dipartimenti e produco il nome del dipartimento funziona bene.
Qualche idea di cosa mi manca per ottenere il nome della colonna corretto per il dipartimento ID? Ecco gli oggetti del mio modello nel caso:
public class Department
{
public virtual int DepartmentID { get; set; }
public virtual string DepartmentName { get; set; }
public virtual ICollection<Employee> Employees { get; set; }
}
public class Employee : PersistentEntity
{
public virtual int EmployeeID { get; set; }
public virtual string UserName { get; set; }
public virtual Department Department { get; set; }
}
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow