2012-07-12 90 views
8

是否有任何方法在數據庫中新增.NET 4.5 DefaultMembershipProvider表名稱的前綴?他們過去被命名爲aspnet_Users,aspnet_Roles等,現在他們被命名爲Users,Roles等,這與我的具有表User的應用程序架構相沖突。.NET 4.5通用成員資格提供程序表名

如果我想使用新的通用提供程序並避免此命名問題,是我使用單獨的數據庫作爲成員資格的唯一選擇嗎?

+0

你爲什麼把它們放到完全相同的數據庫中?他們應該是分開的。你應該質疑使用你自己的沒有前綴的表的智慧。 – 2012-07-12 15:52:26

+4

這是一個意見問題,兩者都是很常見的,這就是爲什麼.NET框架包含aspnet_regsql.exe工具的原因。不幸的是,在.NET 4.5中,該工具假設傳統提供者。 – 2012-07-12 15:52:59

+1

此外,新的Universal提供程序將使用您的默認連接字符串在運行時在您的數據庫中創建其表(如果它們不存在)。因此,除非您爲成員資格提供者指定了新的數據庫,否則它將進入您的應用程序數據庫。 我不會考慮在我自己的表格前加上明智的。我的表格沒有被注入到任何人的應用程序中,但會員表格是有設計的。 – 2012-07-12 15:57:58

回答

6

不幸的是,目前沒有辦法爲通用提供商定製表名,我會確保我們考慮在未來增加對此的支持。

+0

我們最終使用成員表的單獨數據庫 – 2012-07-17 14:54:40

+2

能夠指定除「dbo」以外的模式也沒問題。 – 2013-06-21 06:12:41

1

通過將DefaultMembershipProvider使用表與不同模式下的DefaultMembershipProvider使用表連接起來,可以通過登錄將其映射到目標數據庫中的非默認模式(例如「成員資格」)。在SSMS中,查看登錄屬性,用戶映射,默認模式。這樣,應用程序的[dbo].[Users]不會與[membership].[Users]衝突。

相關問題