複数のデータベースで同じデータベーススキーマを使用するアプリに取り組んでいます。このため、私はというデータベースを作成しましたMyTemplate
。新しいユーザーが作成されると、データベースの独自のインスタンスが作成されます。そのため、のようなデータベースMyTemplate_[UserName]
が作成されます。ユーザーがログインするとき、私は彼らのクエリを彼らのデータベースに向ける必要があります。このため、実行時に接続文字列を設定する必要があることを知っています。私の問題は、EntityFrameworkも使用したいということです。
現在、MyTemplateをソースとして使用して新しい.edmxを作成しました。コードを更新して、そこに接続文字列を設定できると思いました。残念ながら、設定方法がわかりません。TemplateEntitiesのコンストラクターには、接続文字列を渡すことができるオーバーロードがありません。DbContextから派生したTemplateEntitiesに気づきましたが、これが問題になるとは思いません。
string connectionString = GetUsersConnectionString();
using (TemplateEntities entities = new TemplateEntities())
{
TemplateEntity entity = new TemplateEntity();
// Save to the database
entities.TemplateEntity.Add(entity);
entities.SaveChanges();
}
.edmx
間違って作成していますか?それとも私は何かを完全に見逃していますか?私のグーグルはすべて、渡される接続文字列を許可するはずのオーバーロードを示しています。しかし、私はそのオーバーロードを利用できません。