将Linq与WCF一起使用

时间:2020-03-06 14:59:16  来源:igfitidea点击:

我正在寻找在WCF(n层应用程序)上使用Linq的任何示例或者指南。请指定我们要显示的是Linq-to-SQL还是Linq-to-entities。我希望看到两者的用法示例。

我想知道延期执行之类的事情如何在WCF上工作(如果可以的话)?循环引用支持等等。。。

任何使它成为将Linq与WCF一起使用的快速入门指南的信息都将有所帮助。

解决方案

对于通用的基于WCF的查询,我不知道任何LINQ提供程序。但是,LINQ to ADO.NET数据服务使我们可以通过WCF / REST查询实体模型。

从安迪·康拉德(Andy Conrad)的博客中:

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

ADO.NET数据服务可能是我们最好的选择。有一个codeplex项目interlinq可以与WCF一起使用任意LINQ表达式,然后可以由另一个LINQ提供程序(如LINQ to NHibernate或者LINQ to SQL)进行处理。遗憾的是,该项目似乎并不十分活跃。

祝你好运。

我们可以将Linq to SQL类添加到WCF服务。然后转到Linq to SQL类中的数据上下文,并在属性中将序列化模式设置为单向。

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