2016-06-28 3 views
0

Ich arbeite an JQuery Mobile-Projekt, mit EDMX + LINQ SQL Abfragen zu erhalten. Nachdem ich einige Zeit damit gearbeitet habe, bemerkte ich, dass eine meiner Verbindungstabellen nicht in mein Datenentitätsmodell importiert wurde, obwohl ich diese Tabelle jetzt abfragen muss.nicht alle Tabellen wurden in meine edmx importiert

Here is the table (marked in blue) that was not imported properly

Here you can see the table in model browser but not in the diagram, hence i can't use it in my LINQ queries

Ich denke, es hat etwas mit der Tatsache zu tun hat, dass es eine Verbindungstabelle ist, und es steht nicht für sich allein, so was kann ich in diesem Fall tun, wenn i will das immer noch mit LINQ und nicht mit SQL abfragen?

+0

Die Navigationseigenschaften sind auf Ihrem Activities_TB und Users_TB, also würde ich mich nicht um das Diagramm kümmern .. solange Sie Users_Activities_TB in Ihrer Kontextklasse sehen können, geht es Ihnen gut – JamieD77

+0

Das Problem ist, dass ich diese Tabelle nicht abfragen kann . zum Beispiel möchte ich alle Aktivitäten erhalten, die für bestimmte Benutzer verwandt sind. wenn ich versuche, etwas zu tun wie: var userActivities = von uAct in dbEntity.UsersActivities_TB ... die Tabelle wird nicht erkannt. Die Verwendung einer einfachen Verknüpfung zwischen Users_TB und Activities_TB reicht nicht aus, da ich wissen muss, ob dieser bestimmte Benutzer über diese spezifische Aktivität verfügt, – serg90

+0

Wenn Sie wissen möchten, ob ein Benutzer eine bestimmte Aktivität hat, verwenden Sie einfach 'dbEntity.Users_TB.Where (a => a.Activities_TB.Any (b => b.Act_Name == "Golf")); 'dies würde Ihnen alle Nutzungen geben, die Golf spielen. Auch, um alle Benutzer, die Golf spielen, können Sie' dbEntity verwenden. Activities_TB.Where (a => a.Act_Name == 'Golf') Wählen Sie (a => a.Users_TB); ' – JamieD77

Antwort

0

Ich würde vermuten, dass es ist, weil Ihre Tabelle keinen Primärschlüssel hat, sind es zwei Felder sind Fremdschlüssel zu anderen Tabellen. Ich bin auf ähnliche Probleme mit Sichten/Tabellen gestoßen, die nicht importieren. Es benötigt einen eigenen Primärschlüssel, etwa User_Activities_TB_ID.

+0

Ich habe dies überprüft, und beide Felder sind Primär- und Fremdschlüssel. – serg90

+0

Aus meiner Erfahrung wird das, was ich vorgeschlagen habe, dazu führen, dass die Tabelle in Ihr Modell importiert wird. Es liegt an Ihnen, wenn Sie es versuchen möchten, können Sie Ihre DB-Änderungen jederzeit zurücksetzen und das Modell aktualisieren. – Seano666

+0

Gerade jetzt habe ich verstanden, was Sie gemeint haben: jetzt habe ich 2 Felder, die sowohl primäre als auch Fremdschlüssel sind. Was muss ich nun tun, um ein drittes Feld hinzuzufügen, das auch ein Primärschlüssel ist, aber nur für diese Tabelle eindeutig ist? Um also eine Tabelle nach edmx importieren zu lassen, muss ich mindestens ein Feld haben, das ein Primärschlüssel ist und auch kein Fremdschlüssel ist. korrigiere mich, wenn ich falsch liege. werde das jetzt überprüfen – serg90

Verwandte Themen