Ich arbeite mit einigen Legacy-Tabellen, die Beziehungen haben, aber diese Beziehungen sind nicht explizit als Primär-/Fremdschlüssel festgelegt worden. Ich habe eine .dbml-Datei mit "Linq To Sql Classes" erstellt und die richtige Case.CaseID = CaseInfo.CaseID-Assoziation erstellt. Meine resultierende Klasse ist CasesDataContext.
Meine Tische (Einer zu vielen):
Case
------------------
CaseID (int not null)
MetaColumn1 (varchar)
MetaColumn2 (varchar)
MetaColumn3 (varchar)
...
CaseInfo
------------------
CaseInfoID (int)
CaseID (int nulls allowed)
CaseInfoMeta (varchar)
...
Ich bin neu bei LinqToSQL und habe Probleme mit
CasesDataContext db = new CasesDataContext();
var Cases = from c in db.Cases
where c.CaseInfo.CaseInfoMeta == "some value"
select c;
(Bearbeiten) Mein Problem ist, dass CaseInfo oder CaseInfos nicht als Mitglied von Cases verfügbar ist.
Ich habe von einem Kollegen gehört, dass ich ADO.Net Entity Data Model versuchen könnte, um meine Datenkontextklasse zu erstellen, aber ich habe das noch nicht ausprobiert und wollte sehen, ob ich meine Zeit verschwenden würde oder ob ich einen anderen Weg gehen sollte. Für Tipps, Links und Hilfe wäre ich sehr dankbar.
0 Stimmen
Haben Sie die DBML-Datei gespeichert? Ich glaube nicht, dass die CS-Dateien vor dem Speichern generiert werden. Das könnte der Grund dafür sein, dass CaseInfo nicht als Mitglied angezeigt wird.
0 Stimmen
@madcolor, ich habe in meiner Antwort eine Beispielkonfiguration gepostet, bitte sehen Sie sich diese an, da es sich wahrscheinlich um ein Problem mit der Beziehungskonfiguration handelt