相关疑难解决方法(0)

动态连接字符串的设置实体框架

我正在开发一个应用程序,它将在多个数据库中使用相同的数据库模式.出于这个原因,我创建了一个名为的数据库MyTemplate.创建新用户时,他们将拥有自己的数据库实例.因此,MyTemplate_[UserName]将创建一个名为like的数据库.当用户登录时,我需要将他们的查询指向他们的数据库.出于这个原因,我知道我需要在运行时设置连接字符串.我的问题是,我也想使用实体框架.

目前,我使用MyTemplate作为源创建了一个新的.edmx.我以为我能够更新代码并在那里设置连接字符串.不幸的是,我无法弄清楚如何设置它.TemplateEntities的构造函数没有允许我传入连接字符串的重载.我注意到TemplateEntities派生自DbContext,我不认为这会是问题所在.

string connectionString = GetUsersConnectionString();
using (TemplateEntities entities = new TemplateEntities())
{
  TemplateEntity entity = new TemplateEntity();

  // Save to the database
  entities.TemplateEntity.Add(entity);
  entities.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我创建.edmx错了吗?或者我完全错过了什么?我谷歌的所有内容都显示了一个重载,应该允许传入连接字符串.但是,我没有可用的超载.

c# entity-framework

23
推荐指数
2
解决办法
3万
查看次数

EF 5.0和动态连接字符串?

有一件事让我现在发疯了.

我的(数据库优先)EF模型需要动态连接字符串(服务器的IP地址可能偶尔会改变).

因此,在较旧的EF版本中,您可以通过构造函数传递连接字符串,但这在5.0中是不可能的.

到目前为止我读到的内容,您可以更改数据模板,但每次重新生成模型等时都会被覆盖,因此不是最好的方法.

另一件事是SQLConnectionFactory,但似乎根本不起作用似乎 (Database.DefaultConnectionFactory = new SqlConnectionFactory( ... )完全被忽略了).

什么是正确的方法呢?

c# sql entity-framework connection-string

8
推荐指数
1
解决办法
4951
查看次数

如何为SQL Server CE使用动态连接字符串?

我在我的Windows应用程序中使用了SQL Server CE 4.0,并使用Entity Framework创建了它的模型.

它工作正常但我的问题是它没有构造函数来更改连接字符串,默认情况下它从app.config文件中读取连接字符串.

 using (var Context = new MyEntitiesModel(//has no constructor))
 {
        ...
 }
Run Code Online (Sandbox Code Playgroud)

我创建了一个动态连接字符串和

  using (var Context = new MyEntitiesModel())
   {
         Context.Database.Connection.ConnectionString = entityConnection.ConnectionString;
   }
Run Code Online (Sandbox Code Playgroud)

它通过这种方式工作正常,但如果我删除app.config文件中的另一个连接字符串,它给了我这个.

错误=无效的元数据....

因为默认构造函数使用它

我该怎么处理?

c# entity-framework connection-string sql-server-ce-4

6
推荐指数
1
解决办法
2019
查看次数

实体框架 - 数据库优先没有配置

我正在开发一个类库,用于处理使用EF的现有数据库.我想避免类库(和.exe或网站)的使用者在*.config文件中包含实体连接字符串.我希望连接字符串设置为运行时.

如何使用Database First方法设置连接字符串?没有构造函数重载接受连接字符串,当我创建一个(在一个单独的分部类中)时,我得到了"UnintentionalCodeFirstException".

我已经审查过以下链接:

entity-framework entity-framework-5

3
推荐指数
1
解决办法
3397
查看次数