0

我正在尝试编写一个非常简单的方法,它将匹配 userId 并返回相应的图像路径字符串。我的代码是这样的:

public string GetImagePath(int _ID)
{
 var imagepath=from s in context.Userinfoes
               where s.UserID==_ID
               select s.UserImage;
 return imagepath.ToString();
}

问题是 linq 没有加载数据,而是加载了像“system.data.object.objectquery1[system.string]”这样的字符串!我之前多次写过类似的方法,但第一次遇到这个问题。

仅供参考:

我正在使用 3 层架构并在执行此操作之前更新了我的 edmx。我删除了我的参考并再次添加它们以解决问题,但没有奏效。

请帮忙。

4

2 回答 2

3

您的问题在于return imagepath.ToString()imagepath 不是数据。它是可查询的。所以 ToString() 返回“system.data.object.objectquery1[system.string]”。在此代码之前,您需要迭代您的查询。所以试试这个:

public string GetImagePath(int _ID)
{
    var imagepath=from s in context.Userinfoes
           where s.UserID==_ID
           select s.UserImage;

    return imagepath.FirstOrDefault().ToString();
}
于 2012-11-13T06:37:47.777 回答
2

您需要使用 Single()/First() 从可枚举列表中返回一项

于 2012-11-13T06:37:02.520 回答