1

EF5 から EntityFramework 6 に移行しました。

app.Config で設定されたプロバイダーに基づいて接続文字列を変更したいという問題に直面しています。意味 SqlServerCe の場合、データベースを変更するには DatabaseFile.sdf ファイル名を変更する必要があります。SqlServer の場合、InitialCataloge を変更する必要があります。

の型を取得してこれを行いました

「Database.DefaultConnectionFactory」ですが、これは EF6 では廃止されています。

プロバイダーに基づいて接続文字列を変更するにはどうすればよいですか。

毎回接続文字列を変更する必要があるため、DbConfiguration 属性を使用してこれを行うことはできません。

4

1 に答える 1

3

使用できます

DbConfiguration.SetConfiguration(new YourDbConfiguration());

そのため、属性を使用せずに構成を使用できます。

しかし、私が使用する場合

public CeDbConfiguration()
{
 SetDefaultConnectionFactory(new SqlCeConnectionFactory(SqlCeProviderServices.ProviderInvariantName,
                                                        @"c:\test",
                                                        @"c:\test\db.sdf"));
SetProviderServices(SqlCeProviderServices.ProviderInvariantName,
                    SqlCeProviderServices.Instance);
}

SQL CE ファクトリを構成するには、パス'C:\test'は無視され、Database.DefaultConnectionFactory も設定する必要があります!!

于 2013-09-24T08:22:58.290 に答える