0
我遇到了一個問題,我試圖在存儲庫中構建一個包含來自數據庫中不同表的多個連接的Linq查詢,然後將其作爲控制器顯示的對象返回。我得到的錯誤是:「指定的轉換無效。」如何解決使用帶多個連接的linq查詢時「指定的強制轉換無效」錯誤?
問題部分似乎是當我嘗試從我的查詢傳遞對象,我不知道如何解決這個問題。 (我對網絡開發還比較陌生,並試圖學習基礎知識)。
下面是我的倉庫代碼:
public ListingModel GetListing(int listingId)
{
var query = from listing in listingsTable
where listing.ListingID == listingId
join feature
in featuresTable on listing.ListingID equals feature.ListingID into features
from f in features.DefaultIfEmpty()
join avail
in availabilityTable on listing.ListingID equals avail.ListingID into availability
from a in availability.DefaultIfEmpty()
join image
in imageTable on listing.ListingID equals image.ListingID into images
from i in images.DefaultIfEmpty()
select new ListingModel
{
Listing = listing,
Features = features,
Availability = availability,
Images = images
};
return query.FirstOrDefault();
}
如果它的需要,這裏的ListingModel類:
public class ListingModel
{
public Listing Listing { get; set; }
public IEnumerable<Feature> Features { get; set; }
public IEnumerable<Availability> Availability { get; set; }
public IEnumerable<Image> Images { get; set; }
}
當我嘗試在LinqPad它工作正常,準確地返回數據查詢我怎麼會想要它,所以當我嘗試傳回對象時似乎出錯了。我已經嘗試了一些這方面的東西,每次我似乎都得到相同的錯誤;我真的很難找出造成它的原因。預先感謝您提供的任何幫助。