我在刺探模型第一種方法,並且遇到了麻煩。例如,如果我有一個名爲Building的實體,並且名爲BuildingID的關鍵屬性,並且我創建了一個與Room實體的關聯,則Room實體中的外鍵屬性最終將命名爲BuildingBuildingID。EF模型第一個實體關鍵屬性名稱複製
我該如何阻止這種瘋狂!
我在刺探模型第一種方法,並且遇到了麻煩。例如,如果我有一個名爲Building的實體,並且名爲BuildingID的關鍵屬性,並且我創建了一個與Room實體的關聯,則Room實體中的外鍵屬性最終將命名爲BuildingBuildingID。EF模型第一個實體關鍵屬性名稱複製
我該如何阻止這種瘋狂!
Visual Studio將採取刺選擇關聯密鑰的最佳名稱。默認情況下,我相信它是<EntityName><EntityKeyName>
,因此BuildingBuildingId就是你的情況。但是,由於概念模型與存儲模型是分開的,因此可以將該屬性重命名爲任何想要的屬性。另外,如果您在Visual Studio中使用關聯嚮導屏幕,並且不希望VS創建新的外鍵,有一個框可以取消選中以防止它創建屬性。
因此,沒有辦法改變一個設置,將實體的密鑰名稱作爲外鍵名稱?我知道我可以編輯它,但我有更好的事情做5秒! :) – Erik 2012-07-05 20:00:24
默認情況下,我不知道模型中的第一個。如果您通過嚮導導入您的模式,它應該帶入您的外鍵字段的名稱,然後您可以將其指定爲關聯鍵,而不是讓該工具爲您創建一個新鍵。 – 2012-07-05 20:04:23
通過將Building的PK命名爲BuildingID而不僅僅是ID,可以獲得什麼。在代碼中,您將以objectName.ID身份訪問它,並且通過intellisense,顯然objectName的類型爲Building。 – softveda 2012-07-07 01:18:17