0

私はこれらの2つのモデルを持っています

    public class Group
    { 
    [Key]
    public int GroupID { get; set; }

    [Required]
    public string GroupName { get; set; }
}


public class User
{
    [Key]
    public int UserID { get; set; }

    [Required]
    [StringLength(20)]

    public string UserName { get; set; }

    [Required]
    public string Password { get; set; }   
    public virtual Group Groups { get; set; }
}

コードファーストアプローチを使用して、データベースの生成時にユーザーテーブルの外部キーとしてGroups_GroupIDを作成します。同じ名前を作成しているため、displaynameでGroupIDを指定しても機能しませんでした。では、ユーザーテーブルにGroupIDを生成するにはどうすればよいですか?EF4.3を使用しています

4

2 に答える 2

3

ナビゲーションプロパティでForeignKey属性を使用します

public class User
{
    [Key]
    public int UserID { get; set; }

    [Required]
    [StringLength(20)]

    public string UserName { get; set; }

    [Required]
    public string Password { get; set; } 

    [ForeignKey("GroupId")]  
    public virtual Group Groups { get; set; }
}
于 2012-04-08T13:35:31.370 に答える
0

これは動作します...

public class User
{
    [Key]
    public int UserID { get; set; }

    [Required]
    [StringLength(20)]

    public string UserName { get; set; }

    [Required]
    public string Password { get; set; }

    public int GroupId { get; set; }
    public virtual Group Groups { get; set; }
}

ただし、これを実行して、多くのユーザーをグループに所属させたり、ユーザーを多くのグループに所属させたりする場合に対処することもできます。

public class Group
    { 
    [Key]
    public int GroupID { get; set; }

    [Required]
    public string GroupName { get; set; }

    public List<User> Users { get; set; }
}


public class User
{
    [Key]
    public int UserID { get; set; }

    [Required]
    [StringLength(20)]

    public string UserName { get; set; }

    [Required]
    public string Password { get; set; }

    public List<Group> Groups { get; set; }
}
于 2013-03-20T00:29:04.037 に答える