5 Stimmen

Verwendung von Linq mit WCF

Ich bin auf der Suche nach Beispielen oder Anleitungen zur Verwendung von Linq über WCF (n-tier Anwendung). Bitte geben Sie an, ob Sie etwas für Linq-to-SQL oder Linq-to-entities zeigen. Ich würde gerne Anwendungsbeispiele für beides sehen.

Ich frage mich, wie Dinge wie deffered Ausführung über WCF funktioniert (wenn es überhaupt funktioniert)? Unterstützung für zyklische Referenzen und so weiter...

Jede Information, die diese Anleitung zu einem Schnellstart für die Verwendung von Linq mit WCF macht, ist hilfreich.

7voto

Mark Cidade Punkte 95914

Es gibt keinen LINQ-Anbieter, der mir für allgemeine WCF-basierte Abfragen bekannt ist. LINQ zu ADO.NET Datendienste können Sie jedoch ein Entity-Modell über WCF/REST abfragen.

から Andy Conrads 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 Stimmen

Bedeutet dies, dass Linq-to-ADO.NET deffered Laden über WCF funktioniert?

2voto

Eric Punkte 1353

Sie können eine Linq to SQL-Klasse zu einem WCF-Dienst hinzufügen. Gehen Sie dann zu Ihrem Datentext in der Linq to SQL-Klasse und setzen Sie in den Eigenschaften den Serialisierungsmodus auf Unidirektional.

Die Entitäten in Ihrer Linq to SQL-Klasse sind nun über den WCF-Dienst verfügbar :)

1voto

smaclell Punkte 4468

ADO.NET Data Services ist wahrscheinlich die beste Lösung. Es gab ein Codeplex-Projekt interlinq um beliebige LINQ-Ausdrücke mit WCF verwenden zu können, die dann von einem anderen LINQ-Anbieter, wie LINQ to NHibernate oder LINQ to SQL, verarbeitet werden können. Leider scheint dieses Projekt nicht sehr aktiv zu sein.

Viel Glück!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X