Keyword Not Supported: Metadata

后端 未结 11 1134
星月不相逢
星月不相逢 2020-12-01 04:34

This line:

WebSecurity.InitializeDatabaseConnection(connectionStringName: \"DefaultConnection\", userTableName: \"UserProfile\", userIdColumn: \"UserID\", us         


        
11条回答
  •  粉色の甜心
    2020-12-01 04:35

    Here's some code I use, to extract the database name & server name from a connection string.

    Notice how it checks if it's an Entity Framework connection string, and if so, it extracts the "provider connection string" part of that, which can then be passed into SqlConnectionStringBuilder:

    If I didn't do this, I'd get that nasty "Keyword Not Supported: Metadata" error.

    if (connectionString.ToLower().StartsWith("metadata="))
    {
        System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(connectionString);
        connectionString = efBuilder.ProviderConnectionString;
    }
    
    SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectionString);
    DatabaseServer = builder.DataSource;             //  eg "MikesServer"
    DatabaseName = builder.InitialCatalog;           //  eg "Northwind"
    

提交回复
热议问题