16,721
社区成员




public void SetUnit(Department dept);
而实体类型Department的定义则是 public class Department
{
public Department()
{
this.branch = new ObservableCollection<Department>();
this.staffs = new ObservableCollection<User.tmStaff>();
}
/// <summary>
/// 部门名称(不允许重名)。
/// </summary>
public string BranchName { get; set; }
/// <summary>
/// 部门的显示名称(允许重名)。
/// </summary>
public string DisplayName { get; set; }
/// <summary>
/// 地址
/// </summary>
public string Address { get; set; }
/// 下一级部门
/// </summary>
public ObservableCollection<Department> branch { get; set; }
/// <summary>
/// 用户列表
/// </summary>
public ObservableCollection<tmOrgMgr.User.tmStaff> staffs { get; set; }
}
public class tmStaff : tmPerson
{
///<summary>
///角色
///</summary>
public string[] Roles { get; set; }
/// <summary>
/// 当时用工作流即时通讯客户端时,是否启用语音朗读功能。
/// </summary>
public bool XLQQSpeechEnable { get; set; }
/// <summary>
/// 优先使用xlt模板。如果为false(默认),则优先使用xltx和xltm模板。
/// </summary>
public bool XltTemplatePriority { get; set; }
/// <summary>
/// 从客户端默认打开的Excel查询模板
/// </summary>
public string DefaultOpenQueryTemplates { get; set; }
/// <summary>
/// 绑定IP。这限制用户登录功能。
/// </summary>
public string[] BindIPs { get; set; }
}
这里,虽然只是用 string[] 来表示每一个人所属的 Role 的集合,但是显然也会自动在 Role中添加新的定义,同时也单独为权限表增加记录。
于是这一个BLL方法,得到一个Department 参数,执行时它需要读写6个数据库表,而且还需要清理4个服务器缓存,还需要去更新之前5种档案信息(因为当BLL把这些人员数据保存之前,需要自动地先去处理人员调用问题)。
你敢说一个BLL就是处理一个数据库表?
你的那种“三层”概念,除了想到过数据库表的“增删改查”还有一点现实实用性吗?