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

时间:2016-01-25 07:01:44

标签: c# asp.net web-services linq-to-sql

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

[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();
}

但是当我运行该Web服务时,我收到此错误:

enter image description here

我该如何解决?

1 个答案:

答案 0 :(得分:1)

三件事:

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

2。)你不应该使用Take(1)which returns an IEnumerable,而是使用FirstOrDefault。如果您想要获取第一个 n 元素,请使用Take,但如果您只需要一个结果元素,则使用FirstFirstOrDefault

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