1

私はef 5コードの最初のソリューションでコーディングしており、次のようなモデルを持っています:

public class User
{
   public int Id {get;set;}

   public int Role1Id {get; set;}
   public Role Role1 {get; set;}
}

および別のモデル:

public class Role
{
   public int Id { get; set;}

   public string Title {get; set;}
}

また、次のように別のクラスでこのモデルを構成します。

  public class UserConfig : EntityTypeConfiguration<User>
    {
        public UserConfig()
        {
            ToTable("User", "dbo");
            // Here i want introduce Role1 as navigation property for Role1Id property
        }
    }

ここに質問があります:Role1IdプロパティのナビゲーションプロパティとしてRole1を導入するようにユーザーモデルを構成するにはどうすればよいですか?

4

2 に答える 2

1

注釈を使用できます:

public class User
{
   public int Id {get;set;}

   public int Role1Id {get; set;}

   [ForeignKey("Role1Id")]
   public Role Role1 {get; set;}
}
于 2013-03-11T12:16:20.547 に答える
0

ID がデータベース スキーマで生成されたフィールドと一致する限り、EF はそれを自動的に構成する必要があります。

次のように UserConfig で構成を試みることができます。

HasRequired(user => user.Role1)
   .WithRequiredDependent()
   .Map(mapping => mapping.MapKey("Role1Id");

これにより、必須になるように構成されます。必要でない場合は、HasOption メソッドも使用できます。

于 2013-03-11T12:25:58.617 に答える