2016-07-16 8 views
0

他のポストから他のソリューションを試しましたが、いずれも機能しませんでした。依存型でナビゲーションプロパティが見つかりませんでした

public class Users 
{ 
    [Key] 
    public int userID { get; set; }  

    public string username { get; set; } 

    public string password { get; set; } 

    [ForeignKey("Groups")] 
    public virtual int groupID { get; set; } 
} 

は、私は何を逃した

public class Groups 
{ 
    [Key] 
    public int groupID { get; set; } 
    public string groupName { get; set; } 

} 

に関し?

+2

あなたの 'Users'クラスは' public virtual Groups Group {get;}プロパティを必要とします。セット; } ' –

+0

Oだから、それらを含むコレクションを置くだけでいいですか? –

+0

オブジェクト( 'Users'には' Groups'が1つあります)またはその 'public ICollection Groups {get;セット; 'public' groupID {get; set;}'プロパティを削除する必要がある場合 –

答えて

3

私はグループとユーザーの間に1対多の関係があると想定しています。

public class Group 
{  
    [Key] 
    public int GroupID { get; set; } 
    public string GroupName { get; set; } 
    public virtual ICollection<User> Users { get; set;} 
} 

アプローチ1:FK

public class User 
{ 
    [Key] 
    public int UserID { get; set; } 
    public string Username { get; set; } 
    public string Password { get; set; } 
    public int GroupID {get;set;}  
    [ForeignKey("GroupID ")] 
    public virtual Group Group{ get; set; } 
} 

アプローチ2ナビゲーションプロパティに:FKキープロパティ上記

public class User 
    { 
     [Key] 
     public int UserID { get; set; } 
     public string Username { get; set; } 
     public string Password { get; set; } 
     [ForeignKey("Group")] 
     public int GroupID {get;set;}  
     public virtual Group Group{ get; set; } 
    } 

にはうまくhereを説明しました。

+0

これは法的にも有効ですよ。私はもうジョインをする必要はありません。答えをありがとう。 –

+0

はい、データアノテーションは小規模なプロジェクトにとって便利です。しかし、エンティティ(テーブル)の数が多い場合はFluent APIが優先されます。 – Ankit

関連する問題