向自動生成的asp.net(ASPNETDB.MDF,visual studio 2008,mvc框架)「用戶角色 - 數據庫」中添加一列是不是一個好主意(以及爲什麼?)?改變asp.net mvc框架自動生成數據庫的不好主意?
(例如,我希望將列實名和姓氏添加到aspnet_Users表格內的數據庫。)
我之所以要添加的,而不是創建一個全新的表中的列是爲了避免逗樂維護問題和不必要的冗餘
向自動生成的asp.net(ASPNETDB.MDF,visual studio 2008,mvc框架)「用戶角色 - 數據庫」中添加一列是不是一個好主意(以及爲什麼?)?改變asp.net mvc框架自動生成數據庫的不好主意?
(例如,我希望將列實名和姓氏添加到aspnet_Users表格內的數據庫。)
我之所以要添加的,而不是創建一個全新的表中的列是爲了避免逗樂維護問題和不必要的冗餘
但是也有一些使用(從Pragmatic Programmer)兩代方案:
被用於同步的偏多,結果不應該被修改,因爲他們可能會在晚些時候被覆蓋再次完成命令。
在生成的asp.net數據庫的情況下,沒有理由重新運行該代,因此編輯它是可以的。
您將重新運行數據庫的唯一場景是如果microsoft發佈用戶數據庫的新版本,並且您想使用新數據庫(在這種情況下,您可能需要編輯應用程序的某些部分,所以你可以讀取這兩個字段),或者如果你想用不同的選項重新生成數據庫。如果您對當前數據庫不滿意,則會發生這兩種情況。
在我看來,自動生成的數據庫應該被應用程序數據庫中的普通表所取代,或者至少應該有一個官方的解決方案來解決這個問題。
我聽說,這是相當不錯的解決方案:http://www.asp.net/downloads/sandbox/table-profile-provider-samples/
你爲什麼不創建一個新表與Foriegn鍵約束?這似乎是一個壞主意,一列添加到ASPNETDB ......這將是一個噩夢,如果你曾經需要重新創建你的數據庫...
首先,這些表格實際上並不是特定於MVC的任何內容:它們由默認的AspNetSqlMembershipProvider創建。 (也適用於其他類型的ASP.NET應用程序。)
您可以安全地添加新列,但成員資格提供程序不會「看到」它們。它確實提供了其配置文件機制來存儲額外的信息(這些信息被序列化並存儲在aspnet_Profiles表中)。
如果您需要存儲大量關於該用戶的附加信息,則還可以查看this sample membership provider,該信息將配置文件信息存儲在一流表中,而不是存儲在配置文件中。