【发布时间】:2015-12-18 07:55:45
【问题描述】:
我有一个使用 Entity Framework 6 执行一些数据库操作的 dll。我正在使用数据库优先方法。 模型和与实体框架相关的所有内容,例如 App.config 中的连接字符串,都是通过 Visual Studio 中的向导创建的。
所以我编译了 dll 并将其与相应的 .config 放在一起,放在使用 dll 的应用程序所期望的文件夹中。
在我进行实际数据库调用之前,一切正常。我得到了错误:
找不到 MyDatabaseEntity 的连接字符串
如我所说,自动生成的连接字符串在 dll 的配置文件中。我无法更改应用程序的 App.config。 但是应用程序会交出一个对象,该对象包含我自己构建连接字符串所需的所有信息。 所以我正在寻找一种在代码中设置连接字符串而不依赖于配置文件的方法。 我为数据库优先方法找到的所有教程都使用这种方法。 我在这里找到了一篇文章,上面写着在创建对象时简单地将连接字符串作为参数提供
MyDatabaseEntities = new MyDatabaseEntities(dbConnect);
但“MyDatabaseEntities”没有带任何参数的构造函数
public partial class MyDatabaseEntities : DbContext
{
public MyDatabaseEntities()
: base("name=MyDatabaseEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<MyTable> MyTable { get; set; }
}
【问题讨论】:
-
我们如何使用 DB First 来做到这一点。它会覆盖我文件中的任何更改吗?
标签: c# .net entity-framework dll