将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服务使用:)