17,740
社区成员
发帖
与我相关
我的任务
分享
public class Dept : IEntity
{
public virtual long Id { get; set; }
public Dept()
{
ChildDepts = new HashedSet<Dept>();
}
/// <summary>
/// 部门名称
/// </summary>
public virtual string Name { get; set; }
/// <summary>
/// 部门描述
/// </summary>
[Length(Max = 1024, Message = "名字长度超过1024位")]
public virtual string Remark { get; set; }
/// <summary>
/// 上级部门
/// </summary>
public virtual Dept ParentDept { get; set; }
/// <summary>
/// 下级部门
/// </summary>
public virtual ISet<Dept> ChildDepts { get; set; }
public virtual void AddChildDept(Dept dept)
{
ChildDepts.Add(dept);
dept.ParentDept = this;
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FluentNHibernate.Mapping;
using MOGO.OA.Domain;
namespace MOGO.OA.ORM.Mapping
{
public class DeptMap : ClassMap<Dept>
{
public DeptMap()
{
Table("Dept");
Id(p => p.Id).GeneratedBy.Identity();
Map(p => p.Name).Not.Nullable().Length(64);
Map(p => p.Remark).Nullable().Length(1024);
HasOne<Dept>(p => p.ParentDept);
HasMany<Dept>(p => p.ChildDepts).LazyLoad().Cascade.All().KeyColumn("ParentDept");
}
}
}