0
所以,這裏的情況的簡化版本: 我有一個數據庫體育館:通過對象的另一列表VB.NET LINQ排序對象的列表
Gym: GymID, Name
GymAmenities: GymID, AmenityID
Amenities: AmenityID
因此,一個健身房,可以有0〜許多「設施」。走來誰優先設施,對他或重要用戶她:
UserPrefAmenities: UserID, AmenityID, Ranking
現在在郵政編碼健身房搜索時,我希望搜索結果是用戶首選的設施順序順序秩...
gyms = (From g In db.Gyms Where g.Zip = thisRequest.Zip Order By g.GymAmenitys.Contains(From upa In thisUser.UserPrefAmenitys Order By upa.Rank)).ToList
或者類似的東西...
*注意,在運行上面的結果:
無法創建類型爲'UserPrefAmenity'的常量值。在此上下文中僅支持 基元類型或枚舉類型。
如果表達式必須是可空或引用類型,那麼獲取「二進制中的第一個操作數」,並且「==」應該是「=」,對這部分來說是正確的:(From ga In g.GymAmenitys Join upa在db.UserPrefAmenitys on ga.AmenityID Equals(upa.AmenityID)其中upa.UserID = thisUser.UserID _ Order by upa.Rank Descending Select upa.Rank).FirstOrDefault – Jarrette
啊,「==」是我的C#方言閃亮至於例外,Rank的類型是什麼? –
我認爲我修正了這個例外(如果Rank是一個整數) –