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它工作正常,准确地返回数据查询我怎么会想要它,所以当我尝试传回对象时似乎出错了。我已经尝试了一些这方面的东西,每次我似乎都得到相同的错误;我真的很难找出造成它的原因。预先感谢您提供的任何帮助。