2008-10-01 5 views
5

Я ищу примеры или руководства по использованию Linq над WCF (n-ярусное приложение). Укажите, если вы показываете что-то для Linq-to-SQL или Linq-to-entity. Я хотел бы увидеть примеры использования для обоих.Использование Linq с WCF

Мне интересно, как такие вещи, как deffered исполнение, работают над WCF (если он вообще работает)? Поддержка циклических ссылок и т. Д.

Любая информация, необходимая для быстрого ознакомления с использованием Linq с WCF.

ответ

7

Нет никакого провайдера LINQ, о котором я знаю для общих запросов на основе WCF. Однако LINQ to ADO.NET Data Services позволяет запросить модель Entity над 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

Означает ли это, что Linq-to-ADO.NET deffered погрузочных работ над WCF ?! – Phobis 2008-10-01 17:50:19

1

услуги ADO.NET Data, вероятно, ваш лучший выбор. Был реализован проект codeplex interlinq, чтобы иметь возможность использовать произвольные выражения LINQ с WCF, которые затем могут обрабатываться другим поставщиком LINQ, например LINQ to NHibernate или LINQ to SQL. К сожалению, этот проект, похоже, не очень активен.

Удачи.

2

Вы можете добавить класс Linq to SQL в службу WCF. Затем перейдите в свой datacontext в классе Linq to SQL, а в свойствах установите Serialization Mode в Unidirectional.

Сущность в вашем Linq к классу SQL теперь будет доступна через WCF службу :)