Jam*_*mes 14 entity-framework database-first
我有几个数据库,它们的架构是相同的.当我使用数据库优先时,在创建edmx文件时指定连接字符串.我想知道,有没有办法改变连接字符串?这是,所以我可以选择要运行的数据库.Thx提前!
rjc*_*ago 29
我们不在web.configs中存储连接字符串,因此接受的解决方案对我们不起作用.如果您只是尝试通过基本DbContext构造函数提供连接字符串,您将获得以下异常:
如果在Code First模式下使用,使用T4模板为Database First和Model First开发生成的代码可能无法正常工作.要继续使用Database First或Model First,请确保在执行应用程序的配置文件中指定了Entity Framework连接字符串.要使用从Database First或Model First生成的这些类,使用Code First添加任何其他配置,使用属性或DbModelBuilder API,然后删除引发此异常的代码.
要解决此问题,请按如下所示创建上下文的部分类,并使用其他EF元数据格式化连接字符串(其中MyContext是您的 上下文型号名称(例如,您的型号名称为MyModel.edmx,而MyContext下面的代码将替换为MyModel使用的所有三个扩展名.csdl,.ssdl,.msl)):
public partial class MyContext
{
public MyContext(string connStr)
: base(string.Format(@"metadata=res://*/MyContext.csdl|res://*/MyContext.ssdl|res://*/MyContext.msl;provider=System.Data.SqlClient;provider connection string='{0}'", connStr))
{
}
}
Run Code Online (Sandbox Code Playgroud)
更改 web.config 文件中的连接字符串。
<connectionStrings>
<add name="SandBoxEntities" connectionString="metadata=r... />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我缩写了实际的连接字符串,因为它并不重要——只是想让您了解在 web.config 文件中查找什么内容。
您还可以通过编程方式更改连接字符串。查看示例 16.2。以编程方式修改 EntityConnectionString。
| 归档时间: |
|
| 查看次数: |
24626 次 |
| 最近记录: |