WCF和Linq服务

时间:2011-06-27 12:35:51

标签: wcf linq service

我正在使用linq进行wcf休息服务。我想使用存储过程来访问linq中的数据库..我开始了解访问语法,但我在项目中找不到ToList()属性..有人建议我解决方案吗?


代码:[OperationContract]     [WebGet(UriTemplate =“/ CList /”)]     public CList [] GetCList()     {string strConnection = ConfigurationManager.ConnectionStrings [“HConnectionString”]。ConnectionString;

    HDataContext dc = new HDataContext(strConnection);

    string strUrl = WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.ToString();

    var result = from cust in dc.tbl_Customer_Masters

                 select new CList
                 {
                     RMSID = 0,
                     CID = cust.C_Id,
                     FIRSTNAME = cust.C_First_Name,
                     LASTNAME = cust.C_Last_Name,

                 };

    return result.ToArray(); }

2 个答案:

答案 0 :(得分:1)

仅为从ToList()继承或实现System.Linq.Enumerable接口的对象定义IEnumerable 方法。因此,您需要确保以下内容:

  1. 您在项目中引用了相应的DLL(它位于System.Core中,因此默认情况下您应该有一个引用,除非您将其删除)。
  2. 您的文件中有System.Linq命名空间的using指令。
  3. 您尝试调用ToList的对象实际上是从System.Linq.Enumerable继承或实现IEnumerable界面。

答案 1 :(得分:0)

ToList是Extension Method。这意味着它实际上并不在包含类中。您需要在代码中添加using语句才能使用此功能。

using System.Linq;

然后你可以在任何IEnumerable

上调用ToList()