【发布时间】:2009-11-23 17:37:33
【问题描述】:
我正在尝试返回一个结果列表,其中连接的表有多个值,但我只希望每个列表值都有一个图像值。
SQL 是这样的:
SELECT
Title, Comments, ThumbNailPath, thumbheight, thumbwidth
FROM
Listings as l INNER JOIN
Images as i ON l.id = i.ListingId
WHERE
(i.ImageSlot = 1)
我的存储库类如下所示:(db.GetListings() 是我添加到 .dbml 文件的方法部分的存储过程方法)
private ListingModelDataContext db = new ListingModelDataContext();
public IQueryable FindAllListings()
{
//return all listings and first associated thumbnail
return db.GetListings();
}
当我尝试从存储过程调用时出现错误
“System.Data.Linq.ISingleResult”到“System.Linq.IQueryable”。一个 存在显式转换(你是 缺少演员表?)
我正在寻找有关如何从存储过程调用该 sql 语句或简单地构造 linq 以返回该值的指导。
我的偏好是知道如何编写 LINQ 语句。为了澄清,我在图像表上有一对多的关系。 (每个列表多张图片)我只想在搜索结果页面上返回第一张图片。因此,对于每个列表返回 imageSlot = 1 的图像值。
我应该得到一个行列表,显示与图像值相连的列表值。我在 SQL 中得到了正确的结果,但不确定如何在 linq 中编写或如何正确调用 sproc。
提前致谢,如果难以阅读,敬请见谅。
【问题讨论】:
-
这里有一个SQL错误...h的别名是什么?
-
你能发布你用来调用这个 SP 的 Linq to SQL 代码吗?
-
你的权利应该是 l.id 我在窗口中输入错误。
标签: linq-to-sql