2008-12-12 1 views
5

Ich habe folgende Linq Code ...Linq to SQL - "Dieser User ist mehr als einmal definiert" Fehler

CMSDataContext dc = new CMSDataContext(); 

var q = from u in dc.CMSUsers 
     join d in dc.tblDistricts 
      on u.DistrictCode equals d.District into orders 
     select u;  

Bezirk diesen Fehler zeigt: Mehrdeutigkeit zwischen 'tblDistrict.District' und ‚tblDistrict. Bezirk '

Irgendwelche Ideen?

EDIT:

Es stellt sich heraus, dass ich die gleiche Tabelle in zwei verschiedenen dbml Dateien hatte. Anscheinend kann ich das nicht tun. Ich muss am Ende eine Tabelle aus einer dbml-Datei mit einer anderen Tabelle aus einer anderen dbml-Datei verbinden. Wenn mich jemand darüber aufklären kann, werde ich das als Antwort verstehen. Vielen Dank.

+0

LOL, das ist eine echt dämliche Nachricht! – leppie

+0

Erzähl mir davon! Es muss etwas mit meiner dbml-Datei nicht stimmen. – jinsungy

Antwort

4

Wenn Sie eine Verknüpfung zwischen zwei Tabellen haben, erstellt LINQ-to-SQl automatisch eine Eigenschaft für sie.

Wenn beispielsweise das Bestellobjekt eine CustomerID hat, die ein Foriegn-Schlüssel für die Customers-Tabelle ist, verfügt Order automatisch über eine Customer-Eigenschaft. Wenn Sie bereits eine Customer-Eigenschaft besitzen, liegt ein Konflikt vor.

2

Ich hatte das gleiche Problem. Die Lösung war löschen.dbml Datei aus der Lösung Explorer.