У меня есть иерархический (древовидной структуры) таблица TEmployee SQL Server со следующими столбцамисвободный Nhinernate отображения для иерархической/древовидной структуры таблицы
Id bigint identity(1,1) not null
FirstName nvarhcar(50) not null
LastName nvarchar(50) not null
ManagerId bignint null
Идентификатор столбца является первичным ключом. Каждый сотрудник имеет или имеет менеджера; если он/она делает, то значение столбца ManagerId его/ее собственной личности ссылается на значение Id другой строки сотрудника менеджера. Для экземпляра некоторые записи для таблицы TEmployee:
1 John Doe null
2 Jane Smith 1
3 Keith Johnson 1
4 Fox Lynson 2
5 Kim McFeinstein 4
...
У сотрудника John Doe нет менеджера. Но он менеджер Джейн Смит и Кейт Джонсон. Менеджером Ким МакФейнстайном является Фокс Линсон.
Я хотел бы знать, как написать класс модели домена и класс отображения, используя отображение Fluent NHibernate. Кроме того, я бы хотел, чтобы в кодах классов отображения был полезен способ каскадного удаления. Другими словами, если я удалю Джона Доу, то все его дети (сотрудники, управляемые Джоном Доу) также будут удалены рекурсивно.
Пожалуйста, помогите. Спасибо.
домена класса модели, но я не уверен, что его исходные коды:
public class Employee
{
public virtual long Id {get;set;}
public virtual string FirstName {get;set;}
public virtual string LastName {get;set;}
public virtual Employee Manager {get;set;} // not sure here ???
}
класс Mapping, но я не уверен, что его исходники тоже:
public class EmployeeMap : MapClass<Employee>
{
Table("TEmployee");
SchemaAction.None();
// not sure about following codes
???
}
Firo, спасибо вы очень. – user1219702
просмотрите ответы на ваши вопросы и примите лучшее, отвечая на ваш вопрос. если нет никого, что приведет вас к решению, добавьте комменты или отредактируйте вопрос, чтобы узнать, почему он не отвечает на него и не дает дополнительную информацию – Firo