如何在實體框架中將字符串作為主鍵!

entity-framework

我有一個包含員工姓名和員工ID的遺留表。現在,員工ID在char中,因為它可以保存以字母開頭的值。員工ID是表中唯一可用的唯一字段。

現在我使用視圖從表中捕獲數據(它在一個單獨的數據庫中)。但由於缺少int主鍵,我的實體框架拒絕識別視圖。

任何解決方案都將受到高度讚賞,因為我無法觸及遺留表。

一般承認的答案

但由於缺少int主鍵,我的實體框架拒絕識別視圖。

我對此表示懷疑。 EF支持字符串作為PK。

但是,觀點當然不能有PK。這意味著在將它們與EF一起使用時,您必須做一些額外的工作,特別是如果您使它們可更新。 這是怎麼回事


熱門答案

創建另一個int列,並將其用作主鍵。業務用戶,不需要知道該密鑰。

我的猜測是最終應用程序使用帶有章程的員工ID。像第一個和最後一個初始加上僱用日期,像DB012210。

如何在內部完成表對調用應用程序無關緊要,因此您可以添加另一個字段作為真正的主鍵,即int。然後只對當前的EmployeeId設置一個唯一約束,但不要將它真正用作主鍵。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因