我有一個集合(人),有一個多對多的引用到另一個集合(狗)。暫停你不相信每隻狗能有多於一個人的情況。人只是包含的成員是List<Dog>
幫助linq查詢。很多很多
我想選擇所有的人都有一定的財產(在IList中指定),寵物有一定的財產(在IList中指定)。
E.g.我有一個IList(僅用於此查詢)與狗的屬性值。
public enum EnumLikesToBite
{
No,
Yes,
Sometimes
}
IList <<EnumLikesToBite>> listDogsMayBite =
{ { EnumLikesToBite.Yes},
{ EnumLikesToBite.Sometimes}};
然後另一個列表人民財產:
public enum EnumKeepsPetWith
{
Chain,
String,
Rubberband
}
IList <EnumKeepsPetWith> listPeopleWhoDontRestrainDog =
{ { EnumKeepsPetWith.String },
{ EnumKeepsPetWith.Rubberband}};
我如何可以查詢出所有誰都有可能咬不抑制狗狗的人。 像這樣的僞代碼:
Var result = from p in People where p.KeepsPet in listPeopleWhoDontRestrainDog and dog.LikesToBite in listDogsMayBite.
結果有所有的人。當然,如果我能夠得到所有可能咬人的狗,那將會很棒。
真棒,你怎麼破解它?你喜歡超人還是什麼? – tim 2010-06-24 04:29:23