我正在尝试找出完成 NHibernate 坚持的设计的最佳方法。以下是理想情况下的数据:
Person
===============
Id (int)
Name (nvarchar)
Privileges
==============
Person_Id
Right (int)
AccessLevel (int)
理想情况下,我可以创建这样的类(假设我拥有所有 NHibernate 虚拟修饰符):
public enum Rights
{
Read = 0,
Save = 1,
Delete = 2
}
public enum AccessLevels
{
LevelOne = 0,
LevelTwo = 1,
LevelThree = 2
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public Dictionary<Rights, AccessLevels> Privileges { get; set; }
}
最初我考虑了这篇博文中描述的设计,但我不想让Rights
枚举成为一个类,因为我希望能够测试它而不必跟踪给定权限的 Id。我认为一对枚举是最简单的。
无论如何,我一直在努力弄清楚如何在 NHibernate 中实现这一点,更不用说 Fluent NHibernate。我希望一些NH大师可以提供帮助。