Беглое отображение NHibernate один-ко-многим, чтобы присоединиться к таблице
Я сопоставил две таблицы, которые имеют отношение один к одному как один класс, используя метод Join:
public class StoreMap: ClassMap<Store>
{
public StoreMap()
{
Schema("ST");
Table("Store");
Id(x => x.StoreId, "storeId").UnsavedValue(0).GeneratedBy.Identity();
//...
Join("EmployeeManagesStore", y => {
y.Schema("HR").Optional().KeyColumn("storeId");
y.References(x => x.Manager, "employeeId")
});
}
}
Мне нужно отобразить свойство "один ко многим" на стороне Employee
учебный класс. Как я могу это сделать? Единственный способ, которым мне удалось это сделать, это использовать HasManyToMany
вместо HasMany
, но это не так:
public class EmployeeMap: ClassMap<Employee>
{
public EmployeeMap()
{
Schema("HR");
Table("Employee");
Id(x => x.EmployeeId, "employeeId").UnsavedValue(0).GeneratedBy.Identity();
//...
HasManyToMany(x => x.ManagedStores).BatchSize(100)
.Schema("HR").Table("EmployeeManagesStore")
.ParentKeyColumn("employeeId")
.ChildKeyColumn("storeId")
.Cascade.None();
}
}
По сути это схема базы данных для таблиц:
Store ---1:1--- EmployeeManagesStore ---N:1--- Employee