0
我試圖通過選擇一個表來更新我的edmx文件。該工具吐出一條信息消息,表示該表沒有主鍵。實體框架 - 未添加到設計圖面的實體
實體沒有被添加到設計表面,但它確實被添加到.edmx文件中。另外,使用模型瀏覽器,我會看到一個Entities.Store和一個實體。我的表被添加到Entities.Store,但不是實體。
我無法訪問代碼中「已添加」的表。
我該怎麼辦?
重現步驟:
- 用,它們都定義爲外鍵與其他表的兩列創建SQL表。確保FK指向的表格已經存在於設計表面的模型中。
- 右鍵單擊並選擇
Update Model from Database...
- 下一步。在添加選項卡下,在表格下標記新表格
- 單擊完成。
將創建一個關聯,它將在設計界面上被選中,但它不會以FK_開頭,它只是表的名稱。轉到模型瀏覽器並查看實體類型。桌子不會在那裏。查看關聯下,你會看到你的表名作爲一個關聯,但它會看起來不合適(因爲名稱)。
啊!現在我明白了,它將這張表變成了一個「多對多」映射關聯(這就是現實) –
@ScottChamberlain - 雖然棘手的部分,但你不能通過上下文來引用關聯,就好像它是多桌多桌。例如。 context.MyNewTable.Where(....)不起作用,您必須使用它創建的導航屬性(例如context.TableA.TableB)。 –