Explizite Konstruktion des Entitätstyps [MyClass] in Abfrage ist nicht erlaubt

8

Wie der Titel sagt, habe ich die folgende Ausnahme:

  

Beschreibung: Ereigniscode: 3005 Ereignis   Nachricht: Eine nicht behandelte Ausnahme hat   aufgetreten. Ausnahmeinformationen:       Ausnahmetyp: NotSupportedException       Ausnahmebedingungsnachricht: Explizite Konstruktion des Entitätstyps   "Unternehmen.Projekt.Kore.Domain.Freund"   in Abfrage ist nicht erlaubt.

Ich verwende LINQ to SQL und habe den folgenden Code in meinem Datenkontext:

%Vor%

Der letzte Codeblock wirft den Fehler und ich bin ziemlich sicher, dass es diese Aussage ist das ist der Schuldige:

%Vor%

Wie sollte ich meinen Code überarbeiten, um diesen Fehler zu vermeiden?

    
Peter 01.06.2010, 19:55
quelle

2 Antworten

11

Entitäten, die Teil des Datenkontexts sind, können nicht mit einer LINQ-Abfrage erstellt werden. Dies ist eine durchdachte Designentscheidung des C # -Teams. Da die Entitäten in der Select -Anweisung neu erstellt werden (manuell), würde dies bedeuten, dass sie nicht von DataContext verfolgt werden und dies Entwickler verwirren kann. Auf der anderen Seite, wenn der DataContext beim Eintragen diese neuen Entitäten automatisch einfügen würde, wäre dies ebenfalls verwirrend. Die einzige verbleibende Option war, den Entwicklern mitzuteilen, dass dies keine so gute Idee ist, und genau das ist passiert.

    
Steven 01.06.2010, 20:25
quelle
1

Es funktioniert, wenn Sie PrimaryKey nicht auf Spalten in Ihrer Friends-Klasse festgelegt haben. Auf diese Weise werden Änderungen für diese Klasse nicht mehr verfolgt, aber Ihr Code funktioniert.

    
Vedran 20.07.2012 12:22
quelle

Tags und Links