c# - EntityFramework 可以使用提供程序 System.Data.SqlClient 的标准连接字符串吗?

标签 c# asp.net entity-framework

似乎当您使用 Entity Framework 时,它会自动创建提供程序System.Data.EntityClient的连接字符串。

所以我最终在配置中得到了两个连接到同一个数据库的连接字符串:

<add connectionString="Server=S;Database=D;User ID=U;Password=P" name="DBConn" providerName="System.Data.SqlClient" />
<add connectionString="metadata=res://*/Entities.csdl|res://*/Entities.ssdl|res://*/Entities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=S;initial catalog=D;user id=U;password=P;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" name="MyEntities" />

有没有办法通过让我的实体连接到第一个标准连接字符串而不是 System.Data.EntityClient 连接来合并这些?

最佳答案

您尚未说明您使用的是 Code-First 还是 Database-First,但您可以将标准连接字符串传递到 DbContext 类构造函数中。

public class MyDbContext : DbContext
{
    public MyDbContext() : base("My Connection String")
    {

我不喜欢硬编码连接字符串,因此我通常会创建一个静态类,该类具有一个静态字段,该静态字段使用获取连接字符串的任何逻辑进行初始化。在这种情况下,您的 DbContext 类将类似于:

public class MyDbContext : DbContext
{
    public MyDbContext() : base(SomeStaticClass.MyConnectionString)
    {

关于c# - EntityFramework 可以使用提供程序 System.Data.SqlClient 的标准连接字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36849346/

相关文章:

c# - 使用线程处理队列的最有效方法

c# - 使用接口(interface)获取列名时如何使用表达式动态构建LINQ查询?

c# - 检查 request.form ["field"] 字符串长度在 ASP.net 中不起作用

wpf - 如果我使用 EntityFramework,是否必须在 ViewModel 中引发 PropertyChanged?

entity-framework - EF 代码优先 : CreateIndex - Covering Index

javascript - C# JSON 反序列化为复杂类

c# - 通知 ajax 调用 session 已超时或用户需要重新验证

ASP.NET 图表 : How to change font in Chart's Title?

Javascript焦点删除文本突出显示

asp.net - Entity Framework 4(使用EDMX),如何将字段添加到数据库实际上没有该字段的模型中