2016-07-23 1 views
0

I次の表は表示のみLINQクエリでのユーザーのための値を許可

public class Area 
{ 
    public int AreaId {get;set;} 
    public string AreaName {get;set;} 
} 

public class User_AREA 
{ 
    public int UserId {get;set;} 
    public int AreaId {get;set;} 
} 


public class Customer 
{ 
    public int CustomerId {get;set;} 
    public int AreaId {get;set;} 
    public string CustomerName {get;set;} 
} 

私はLINQのクエリ結果を与えるようにしたいがあります。すべては

var list = _customerService.GetAllCustomer(int UserId) {} 
のLINQ

で選択/ログインユーザのための顧客を許可表示
+0

は、あなたが使用していますその==に取り組んでいますが、p.UserIdを追加するのを忘れユーザーIDで、すべての顧客を得ることができますLinqからSQLへ?エンティティフレームワーク?または、どのようにデータベースに問い合わせますか? – user3185569

答えて

0

あなたはコンテキストオブジェクトがdbと呼ばれているとします

private List<Customer> GetAllCustomer(int UserId) 
{ 
    var CustomersByUser = (from a in db.User_AREA 
          join c in db.Customer 
          on a.AreaId equals c.AreaId 
          where a.UserId = UserId 
          select c).ToList(); 

    return CustomersByUser; 
} 

上記番目に合流eテーブルを2つ取り出し、UserIdパラメータを使用してメソッドに渡されたユーザーと同じ領域を共有する顧客のみを返しました。

0

あなたは一例it.forフィルタ、

var list= _wheelingService.GetAllCustomer().Where(i=>User_AREA.Any(p=>p.AreaId ==i.AreaId && p.UserId==UserId); 

おかげ

+0

よろしくお願いします。 – Motion

関連する問題