Linq
クエリを使用して、私のwebserviceでCRM 2013から選択します。LinQはリストをパラメータとして持つオブジェクトを選択します
私の最後のエンティティは次のようになります。
class Car{
Guid carId{get;set;
String carName{get;set;}
Guid carFooId{get;set;}
}
そしてHouse
は、次のようになります:
class House{
Guid houseId{get;set;}
String houseName{get;set;}
Guid houseFooId{get;set;}
}
さて、私の問題は次の通りであるCar
はこのようになります
class FOO{
Guid fooId{get;set;}
String fooName{get;set;}
List<Car> fooCars{get;set;}
List<House> fooHouses{get;set;}
}
:
私は一度だけcrmをクエリし、その中のすべてのリストを持つFOO
のリストを取得したいと思う。現時点では私はこのように実行します。
List<FOO> foes = crm.fooSet
.Where(x => x.new_isActive != null && x.new_isActive.Value = true)
.Select(x => new FOO(){
fooId = x.Id,
fooName = x.Name,
fooCars = crm.carSet.Where(c => c.fooId == x.Id)
.Select(c => new Car(){
carId = c.Id,
carName = c.Name,
carFooId = c.fooId
}).ToList(),
fooHouses = crm.houseSet.Where(h => h.fooId == x.Id)
.Select(h => new House(){
houseId = h.Id,
houseName = h.Name,
houseFooId = h.fooId
}).ToList()
}).ToList();
私の目的はnon-lambda queries
とLinQ
を使用して、私はjoin
とgroup-by
に必要なすべての件のデータを取得することですが、私は実際にそれを達成する方法がわかりません、任意のヒント?
おかげで、すべての
現在のクエリの何が問題になっているのですか?それとも、それを別の構文に変換したいだけですか? –
@ YacoubMassad現在のクエリはうまくいきます。私の唯一の問題は効率についてです。現在のクエリの中でさらに2つのクエリを実行する代わりに、サブクエリの代わりに1つのクエリを持つように、結合とグループ化を実行することをお勧めします。私がうまく説明したらダンノー –