如何在 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
,但如果只需要一个结果元素,则使用 First
或 FirstOrDefault
。
3.) 如果使用FirstOrDefault
,则必须在返回时进行空值检查:return query == null ? "" : query.ToString()
【讨论】:
以上是关于如何在 Web 服务 asp.net 中返回 linq to sql 查询结果?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 asp.net 中创建 RESTful Web 服务?
如何在 ASP.NET MVC/Web 控制器中返回 JSON?