Entity Framework (MVC4 および EF5RC) を使用して、ビュー モデル内に未使用のプロパティを配置することなく、多対多の関係を作成しようとしています。
私はUser
クラスを持っています:
public class User
{
public Guid Id { get; set; }
public string[] Roles { get; set; }
public string Name { get; set; }
}
そしてRole
クラス:
public class Role
{
public Role()
{
Users = new List<User>();
}
public int Id { get; protected set; }
public string Name { get; set; }
public string Description { get; set; }
public IList<User> Users { get; set; }
}
私が達成したいのは、いくつかのロール (この時点ではロールの文字列名) に属するユーザーを持つことです。それらは複数のロールに属することができます。各ロールには複数のユーザーを含めることができます。
Entity Frameworkが満足して保存できるように、ロールにユーザーのリストとユーザーにロールのリストを配置する必要はありません。
私はmodelBuilderのものを使用しようとしています(Entity Framework Code Firstで階層データの関係を定義するなどのいくつかの例に従いました)。喜びもなく。
余分なプロパティを避けたい理由は、null リストや、さらに悪いことに他のユーザーをリストする役割のリストを持つのは気分が悪いからです。ドメイン モデルをクリーンにして、リポジトリを操作するために曲がる必要がないようにしたいと考えています。