使用linq to sql通过存储过程检索图像

时间:2014-10-23 09:41:30

标签: c# asp.net linq

我面临的问题是,当存储过程具有单个结果或行时,存储过程正常工作但是当行从多于一个增加时,它只检索最后一个记录。 我正在从数据库中检索图像的URL,然后将它们显示在asp.net的图像标记中。 我有2个图像标签和2个数据库结果,但我不知道如何在每个标签中放置每个网址。

到目前为止,我尝试过的代码是:

protected void Page_Load(object sender, EventArgs e)
    {
        using(Property_dbDataContext context=new Property_dbDataContext())
        {
            var strURL = context.retrieveImage().Select(s => s.image_url).FirstOrDefault();
            Image1.ImageUrl = strURL;
            Image2.ImageUrl = strURL.
        }
    }

如果我只使用Image1.ImageUrl = strURL;它显示了我最后一排结果。

如何通过图像中的数据库获得图片。

1 个答案:

答案 0 :(得分:1)

假设context.retrieveImage()返回您正在谈论的两条记录,您的FirstOrDefault()只返回一条记录,根据数据库排序。

您可以将结果存储在列表中并通过索引访问这些结果:

var imageUrls = context.retrieveImage()
                       .Select(s => s.image_url)
                       .ToList();

Image1.ImageUrl = imageUrls[0];
Image2.ImageUrl = imageUrls[1];