2009-07-17 11 views
0

Ich kann keine Vorlage für eine Linq zu SQL-Klasse in .NET 2.0-Projekt finden, basierend auf dem, was ich weiß, dass Sie mit LINQ in .NET 2.0 arbeiten können, solange Sie haben 3.5 in Ihrer Entwicklungsmaschine und Schiff system.core.dll mit Ihrer Anwendung?Linq to SQL Vorlagen in. NET 2.0 Projekte

also basierend auf, wie kann ich ein Linq zu Sql-Modell zu meinem Projekt hinzufügen, wenn "Linq to Sql Classes" Vorlage aus dem Fenster neues Element hinzufügen fehlt?

Edit:

nur Dinge zu klären, Dies ist eine Server-Anwendung und der Server wird .net 3.5 SP1 hat. Das einzige Problem ist, dass wir das Projekt derzeit nicht auf .net 3.5 aktualisieren können.

Antwort

0

ich es herausgefunden, Alles, was Sie tun müssen, ist eine neue Textdatei in das Projekt ein, aber die Erweiterung ändern von .txt es .dbml und wird automatisch vom Visual Studio abgeholt. Es wird sogar den gesamten Code für Sie generieren.

1

Wenn Sie System.Core mit Ihrer Anwendung ausliefern, werden zukünftige Sicherheitsupdates nicht übernommen und der optimierte Build wird nicht installiert (MS verwendet intern NGEN und NEN für verteilte Framework-Bibliotheken). Entweder benötigen Sie .NET 3.5, vermeiden Sie die Verwendung von Linq oder implementieren Sie Ihre eigenen Erweiterungen für eine custom Linq provider.

1

Der Ansatz Sie nehmen das Hinzufügen sind gefährlich und werden mit ziemlicher Sicherheit zu Fehlern auf der Bereitstellung Maschine führen.

Das 3.5 Framework und speziell System.Core.dll, verlassen sich auf die CLR mindestens 2.0 SP1. Es gibt mehrere Fehler in CLR 2.0, die durch die Verwendung der Ausdrucksbaum-API und anderen Codes, auf die sich Linq2Sql stützt, offengelegt werden.

Wenn Sie System.Core.dll ausliefern, haben nur die Clients nicht garantiert und wahrscheinlich auch nicht das CLR Service Pack. Wenn Sie auf einen dieser Fehler stoßen, führt dies zu schwer verständlichen Fehlern in Ihrer Anwendung.

Sie können eine Weile Glück haben, aber dies ist ein ungetestetes und nicht unterstütztes Szenario.

rate ich Ihnen sehr zu nicht tun dies