2017-03-24 15 views
0

で、私は、この表関係1:N EF

public class Unity 
{ 
    public int Id {get;set } 
    public string Name{ get; set; } 
} 

public class UsersRight 
{ 
    public int Id {get;set }   
    public string Name{ get; set; } 
    public int Value{ get; set; } 
} 

を持っている私は、ユーザーがアクセス権を持つすべてのunitiesのリストが必要です。

私はこの方法を行うに知って

var userRight = _DAL.UserRights(user).ToList(); 

var listUser = new List<Unity>; 

foreach (var item in userRight) 
{ 
    listUser.add(new Unity(Name = item.Name, Id = item.Value)); 
} 

どうすれば、より効率的な方法でこれを行うことができますか?

public virtual User User { get; set; } 

あなたはthisエンティティを確認することができます。ユーザーを持っている必要があり

public virtual ICollection<Unity> Unities { get; set; } 

ユニティエンティティ:あなたのシナリオでは

+0

男。あなたは質問をする前にgoogleを利用するべきです。 http://www.entityframeworktutorial.net/code-first/configure-one-to-many-relationship-in-code-first.aspx –

+0

私はこのリンクを前に読んでいますが、問題は私にリンクがないことですテーブル。私は、各Unityのコードでnレコードのリストを持っています。 – b3r3ch1t

+0

あなたの最初のコード行は[NOP](https://en.wikipedia.org/wiki/NOP)です...単にそれを 'var userRight = _DAL.UserRights(user).ToList();'に変更してください。 –

答えて

3

は、ユーザーエンティティはUnitiesのリストを持っている必要がありますフレームワークのチュートリアルでは、一対多の関係を設定する方法について説明します。