WebSecurity.InitializeDatabaseConnection - 如何指定数据库模式?

wtj*_*nes 5 asp.net webmatrix

我正在使用SimpleMembership(http://blog.osbornm.com/archive/2010/07/21/using-simplemembership-with-asp.net-webpages.aspx)但我无法将自定义用户表放在除dbo之外的架构.

例如,此调用将固执地创建名为"dbo.MySchema.User"的表

WebSecurity.InitializeDatabaseConnection(connectionStringName: "ApplicationServices", userTableName: "MySchema.User", userIdColumn: "ID", userNameColumn: "Username", autoCreateTables: true);
Run Code Online (Sandbox Code Playgroud)

我也尝试手动创建表,但库在运行查询时仍尝试附加"dbo".

我需要自定义提供商吗?我不是100%肯定我是否会使用SimpleMembership但是它可以省去编写一堆用户/授权代码的麻烦.

http://msdn.microsoft.com/en-us/library/gg569134(v=VS.99).aspx

Jav*_*Ros 8

我为用户使用自己的架构.

调用我的表CORE.PROFILES,使用websecurity我有一个SQL同义词dbo.PROFILES.

为此,它在SQL Server中运行此语句:

CREATE SYNONYM dbo.profiles FOR core.profiles;
Run Code Online (Sandbox Code Playgroud)

我希望这对你有帮助.


and*_*rly 0

我认为关键是它将使用与您的用户 ID 关联的任何默认架构。在 SQL Server 中,您可能会尝试为您的用户帐户指定除 dbo 之外的默认架构,然后我认为它将在该架构中创建表,但我认为您无法在调用 InitializeDatabaseConnection 时指定架构。