使用Linq和WCF

时间:2008-10-01 17:31:44

标签: linq wcf linq-to-sql linq-to-entities

我正在寻找使用Linq over WCF(n层应用程序)的任何示例或指南。请指定您是否正在为Linq-to-SQL或Linq-to-entities显示内容。我想看看两者的用法示例。

我想知道defferred执行的事情是如何在WCF上运行的(如果它可以工作的话)?循环引用支持等等......

使这个作为使用Linq和WCF的快速入门指南的任何信息都很有帮助。

3 个答案:

答案 0 :(得分:7)

对于基于WCF的通用查询,我没有任何LINQ提供程序。但是,LINQ to ADO.NET Data Services允许您通过WCF / REST查询实体模型。

来自Andy Conrad's blog

    static void Main(string[] args)
    {
      var context=new WebDataContext("http://localhost:18752/Northwind.svc");

      var query = from p in context.CreateQuery<Product>("Products")
                  where p.UnitsInStock > 100
                  select p;

      foreach (Product p in query)
      {
        Console.WriteLine(p.ProductName+", UnitsInStock="+p.UnitsInStock);
      }
   } 

答案 1 :(得分:2)

您可以将Linq to SQL类添加到WCF服务。然后转到Linq to SQL类中的datacontext,并在属性中将Serialization Mode设置为Unidirectional。

现在可以通过WCF服务获得Linq to SQL类中的实体:)

答案 2 :(得分:1)

ADO.NET数据服务可能是您最好的选择。有一个codeplex项目interlinq能够使用WCF的任意LINQ表达式,然后可以由另一个LINQ提供程序处理,如LINQ to NHibernate或LINQ to SQL。可悲的是,这个项目看起来并不活跃。

祝你好运。