如何在 Web 服务 asp.net 中返回 linq to sql 查询结果?

Posted

技术标签:

【中文标题】如何在 Web 服务 asp.net 中返回 linq to sql 查询结果?【英文标题】:How to return linq to sql query result in web service asp.net? 【发布时间】:2016-05-01 10:04:07 【问题描述】:

我是 Web 服务的初学者,想用 LINQ to SQL 编写简单的查询并用 Web 服务返回该查询结果,请编写以下代码:

[WebMethod]
public  string LinqExample()

    string conn = "Data Source=REMOVETHIS";
    DataClasses1DataContext behzad = new DataClasses1DataContext(conn);
    string result;
    var query = (from p in behzad.CDRTABLEs
                 where p.name == "behzad".Trim()
                 select p).Take(1);

    return query.ToString();

但是当我运行那个网络服务时,我得到了这个错误:

我该如何解决?

【问题讨论】:

您的连接字符串似乎不正确。 @user2946329 是的,我更改了该连接字符串并使用它。 【参考方案1】:

三件事:

1.)您的连接字符串似乎错误,因为建立连接时出现问题,没有执行查询。

2.) 您不应使用Take(1)、which returns an IEnumerable,而应使用FirstOrDefault。如果要获取前 n 个元素,则使用 Take,但如果只需要一个结果元素,则使用 FirstFirstOrDefault

3.) 如果使用FirstOrDefault,则必须在返回时进行空值检查:return query == null ? "" : query.ToString()

【讨论】:

以上是关于如何在 Web 服务 asp.net 中返回 linq to sql 查询结果?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 asp.net 中创建 RESTful Web 服务?

ASP.NET:从 Web 服务方法返回对象列表

在 asp.net 中调用 Web 服务

如何在 ASP.NET MVC/Web 控制器中返回 JSON?

如何在 asp.net web api 中返回 json 错误消息?

我有一个 asp.net .asmx Web 服务,我需要返回最接近查询 Web 服务的客户端的地址列表