作成中のソフトウェアのセキュリティ システムを作成していますが、NHibernate で次のことができる方法を知りたいです (可能な場合)。
ユーザー アカウント クラス:
public class UserAccount
{
public virtual int UserID { get; set; }
public virtual String Username { get; set; }
public virtual Privilege InvoicePrivilege { get; set; }
public virtual Privilege TradePrivilege { get; set; }
}
特典クラス:
public class Privilege
{
public virtual bool Read { get; set; }
public virtual bool Write { get; set; }
public virtual bool Delete { get; set; }
public virtual bool Modify { get; set; }
}
これらの特権オブジェクトを多数 (取引されたエンティティごとに 1 つ) 持つことになるので、データベースには次のテーブルがあります。
UserAccounts ( UserID , Username)
Privileges ( UserID, PrivilegeType , Read,Write,Modify,Delete)
InvoicePrivielge プロパティをユーザー アカウントから (UserID, 'Invoice') 権限にマップするにはどうすればよいですか。
多対一を使用してこれを行うこともできますが、特権のコレクションは必要ありません。むしろ、それをそのプロパティにマップしたいと思います。