2017-08-27 14 views
0

データベース操作のためにAsp.NET MVCプロジェクトでlinqを使用しています。私は、AgentHealthテーブルのサイトコードを持っている顧客を引き付けたいと思っています。 1回の操作でlinqでこれを行うにはどうすればよいですか?Asp.NET MVCのLinqとの配列比較

var CurrentCustomers = new List<Customer>(); 
var CurrentCustomersDisc = Database.Session 
            .Query<agenthealts>() 
            .ToList() 
            .Select(x => x.sitecode) 
            .Distinct() 
            .ToList(); 

foreach(var CurrentDisc in CurrentCustomersDisc) 
{ 
    var TempCustomer = Database.Session 
           .Query<Customer>() 
           .FirstOrDefault(x => x.deleted_at == null 
               && x.SiteCode == CurrentDisc); 
    if(TempCustomer != null) 
    { 
     CurrentCustomers.Add(TempCustomer); 
    }    
} 
+0

あなたがます。SiteCode == CurrentDiscは '、各agenthealthからランダムに一つの顧客を取得しますか'これらの顧客をすべてリストに入れる? – Christos

+0

はい、CurrentCustomersDiscはサイトコードの配列であり、各顧客にはサイトコードがあります。 –

+0

私の答えをチェックしてください。さらに、あなたが探していることを明示的に述べているあなたの質問を更新してください。疑わしいものが何であるかを明確にするために、各エージェントヘルスの顧客を含むリストがあります。ありがとう – Christos

答えて

1

あなたは `CurrentCustomersDisc"で自分のID(または何主キーがある)顧客を選択することができます。

var CurrentCustomers = Database.Session.Query<Customer>.Where(c=> 
    CurrentCustomersDisc.Select(cc=> cc.Id).Contains(c.Id)); 
+0

リカederim;)İsmailbey –