我試圖通過名稱AgentId
添加一個表到我的ASP MVC站點。此表沒有主鍵,但它確實使用外鍵將其映射到另一個表BankMasterList
。一位代理人可能會與多家銀行合作,因此代理商ID通常會在AgentId
表中不止一次出現。ASP MVC3添加數據庫中不存在的主鍵
但是,每次我嘗試此操作時,Visual Studio都會將表AgentId
的第一列(列名恰好與表:AgentId
)分類爲主鍵。
如果我刪除主鍵名稱並點擊保存/編譯,Visual Studio將繼續刪除.tt
文本模板轉換工具包文件中包含的每個.cs
模型。顯然,該項目之後爆炸,因爲所有的控制器現在使用無效的名稱空間。
任何人都可以提供任何建議或解釋到底是怎麼回事?
下面是從SQL Server Management Studio中的屏幕截圖的AgentId
表:
這裏是在Visual Studio項目在.edmx
文件出的表格:
AgentId是* not *主鍵? –
如果在表上找不到實際的主鍵,則EDMX設計器將選取所有不可爲空的列**作爲主鍵。儘管表**應該總是有**主鍵! –
@Robert:'AgentId'(列名)不是主鍵。 – NealR