带有连接字符串的实体框架 DbContext 构造函数

2023-11-25

有人可以帮助我理解以下两种将连接字符串传递给的方法DbContext?

方法#1:

public EWebDBContextEMS() : base("mainConnectionString")
{
}

和方法#2:

public EWebDBContextEMS() : base("name=mainConnectionString")
{
}

这篇文章指出 that name=...将由设计师创建,但我用纯测试DbContext代码,它也有效。

这是有意为之的行为吗?DbContext构造函数?并且在文档,它没有提到name=对于连接字符串来说是可以接受的。

非常感谢


类DBContext类注释有完整的解释。
简而言之:

  • 您的第一个示例可能会创建一个名为“mainConnectionString”的数据库。
  • name=xxxx 在 app.config 中按名称查找连接字符串

某些工具确实会为您将条目放入 App.config 中。
您链接的在线文档准确说明了帮助的位置。

在线帮助说:

使用给定字符串作为名称构造一个新的上下文实例 或将连接到的数据库的连接字符串 制成。请参阅课堂备注,了解如何使用它来创建 联系。

如果你去看课堂笔记,你会找到完整的解释......

///               The connection to the database (including the name of the database) can be specified in several ways.
///             If the parameterless DbContext constructor is called from a derived context, then the name of the derived context
///             is used to find a connection string in the app.config or web.config file.  If no connection string is found, then
///             the name is passed to the DefaultConnectionFactory registered on the <see cref="T:System.Data.Entity.Database"/> class.  The connection
///             factory then uses the context name as the database name in a default connection string.  (This default connection
///             string points to .\SQLEXPRESS on the local machine unless a different DefaultConnectionFactory is registered.)
///             Instead of using the derived context name, the connection/database name can also be specified explicitly by
///             passing the name to one of the DbContext constructors that takes a string.  The name can also be passed in
///             the form "name=myname", in which case the name must be found in the config file or an exception will be thrown.
///             Note that the connection found in the app.config or web.config file can be a normal database connection
///             string (not a special Entity Framework connection string) in which case the DbContext will use Code First.
 ///             However, if the connection found in the config file is a special Entity Framework connection string, then the
 ///             DbContext will use Database/Model First and the model specified in the connection string will be used.
 ///             An existing or explicitly created DbConnection can also be used instead of the database/connection name.
 ///             A <see cref="T:System.Data.Entity.DbModelBuilderVersionAttribute"/> can be applied to a class derived from DbContext to set the
 ///             version of conventions used by the context when it creates a model. If no attribute is applied then the
 ///             latest version of conventions will be used.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有连接字符串的实体框架 DbContext 构造函数 的相关文章

  • EF4 Code First:如何在不添加导航属性的情况下添加关系

    我应该如何使用 Code First 但不使用任何导航属性来定义关系 之前 我通过在关系的两端使用导航属性来定义一对多和多对多 并在数据库中创建适当的关系 这是类的精简版本 为了简单起见 我已将多对多关系转换为一对多关系 public cl
  • EF5 和循环或多级联路径,FOREIGN KEY

    我遇到了一个奇怪的问题 我已经知道为什么通常会发生此异常 以及如何通过在其中一个属性中将 WillCascadeOnDelete 禁用为 False 来解决它 但我的问题似乎是其他类型的 这是我的代码 会员 public class Mem
  • 有没有办法将所有内容都包含在 dbcontext 中?

    当查询一个DbContext急切加载时 需要Include Navigation 为了填充导航属性 然而 在某些情况下 我想简单地Include all实体的导航属性 有没有办法做到这一点 或者有办法做到这一点 我假设你可以反思 但我宁愿避
  • 无法将类型 System.Linq.IQueryable 隐式转换为字符串

    我有两个名为 Rank 和 CrewMembers 的表 我想根据 CrewMember 的 id 获取 Rank 表中存在的排名名称 我已将船员 ID 作为参数传递 并在此基础上该方法将返回该特定船员的等级 这就是我的代码 public
  • 在 MVC3 Razor 视图中引用 EntityFramework 4.1 命名空间

    我试图在我的 MVC3 项目中的共享视图内引用 System Data Entity Validation EF 4 1 版本 命名空间 我已经能够使用以下方式引用其他外部库 using Example Namespace 然而 当涉及到作
  • Oracle Developer Tools for Visual Studio 2019 无法正确安装

    在 VS 2019 中 ODT 使用扩展名安装 而不是像以前的版本那样作为安装文件安装 因此 从 VS 2017 升级的 EF 6 使用的 MVC 项目 edmx 文件在扩展安装后不显示数据库图表 空白黑页 编辑 xml 选项等 仅此而已
  • 实体框架中对象属性中的 NULL 值

    Tables Article Author Comment 1篇文章和1位作者可以有 评论 数据库中有 1 篇文章 1 位作者和 1 条评论 问题是 该代码 myBD my bd new myBD var articles by bd Ar
  • 在实体框架中比较日期的最佳方法

    我在实体框架的 where 子句中使用日期并收到以下错误 这是由于以下代码 var entity dbContext MyTable Where w gt w PId 3 w CreatedOn Date mydate Date First
  • 使用 Entity Framework Core 2.0 更改或重命名列名称而不丢失数据

    我意识到我的一个列标题拼写错误 因此我在模型中更改了它并创建了一个新的迁移以将其更新到数据库中 一切都很完美 直到我意识到实际发生的情况是一个新列取代了现有列并删除了所有数据 碰巧的是 由于这是一个教程数据库 因此恢复数据并不重要 只需几分
  • 实体框架连接字符串定义

    我只是想知道 什么是实体框架连接字符串实际意思 喜欢 metadata res Models Model1 csdl res Models Model1 ssdl res Models Model1 msl provider System
  • 实体框架 5 - 抽象类型“X”没有映射的后代,因此无法映射

    尝试操作时出现以下错误这个对象 https github com gbirchmeier quickfixn blob master QuickFIXn Message FIX44 TradeCaptureReportRequestAck
  • 不同提供商的相同 EDMX 文件

    我正在开发一个项目 其中有一个本地数据库 SQL CE 在不存在与服务器的连接的情况下用作缓冲区 在服务器上我想使用相同的数据库布局 当然 我想使用服务器和客户端上可用的 Common dll 中的相同 EDMX 文件 在客户端中 我有一个
  • 如何使用 Linq 将实体表与交叉引用表连接起来

    首先我要说的是 我对 Linq 比较陌生 但我似乎很快就掌握了其中的大部分内容 但这个问题却难倒了我 我找了又找都没有结果 我使用代码优先并创建了 2 个模型 项目 和 关键字 他们之间存在多对多的关系 我的实体模型如下所示 public
  • 实体框架中的 DbSet [重复]

    这个问题在这里已经有答案了 我在实体框架中有以下代码 using var dbc new TestDbContext var data from a in dbc tableList select new a id ToList 当我调试代
  • 从 SQLCE 4 迁移到 SQL Server 2008

    因此 作为早期采用者 我开发了一个基于 SQLCE4 ASP Net MVC3 和实体框架CTP5 http www microsoft com downloads en details aspx FamilyID 35adb688 f8a
  • SQL Server中主键和唯一索引的区别[重复]

    这个问题在这里已经有答案了 我的公司目前正在重写我们最近获得的一个应用程序 我们选择使用 ASP net mvc4 来构建这个系统 并使用实体框架作为我们的 ORM 我们收购的公司的前任所有者非常坚定地要求我们使用他们的旧数据库 并且不对其
  • 同一数据库的多个实体框架

    我们可以在项目中为同一个数据库创建多个实体框架吗 我想为每个子系统创建实体框架 一些子系统具有共享表 这是可能的 您可以根据需要创建多个 EDMX 文件 但不建议这样做 因为 您不能查询不同模型中的多个表 定义边界将非常困难 因为大多数表都
  • 实体框架 - 选择特定列并返回强类型而不丢失强制类型转换

    我正在尝试做类似的事情这个帖子 https stackoverflow com questions 1094931 linq to sql how to select specific columns and return strongly
  • 实体框架未正确修改或删除子项

    我正在尝试保存Firm包含地址和网站的对象 我开发了在 Angular 7 中使用反应式表单在 UI 中添加和删除地址控件的功能 Firm对象 它正在为地址和网站创建附加条目 而不是将其视为现有记录 因此 如果我从 UI 中删除网站和地址
  • LINQ to Entities - 无法将“System.DateTime”强制转换为 orderBy 中的“System.Object”类型

    我试图从传入的 Expression gt 中按日期订购实体的 IQueryable 并收到错误 无法将类型 System Nullable 1 转换为类型 System Object LINQ to Entities 仅支持转换实体数据模

随机推荐

  • 从 python 中的列表中获取唯一值[重复]

    这个问题在这里已经有答案了 我想从以下列表中获取唯一值 nowplaying PBS PBS nowplaying job debate thenandnow 我需要的输出是 nowplaying PBS job debate thenan
  • 在python中通过调制解调器发送wav声音

    我正在尝试用 python 和 linux 制作一个自动应答和呼叫机 但到目前为止我只能拨打一个号码 当谈到发送声音或录制声音时 我没有成功 过去一周我一直在努力解决这个问题 到目前为止还找不到解决的方法 我使用的调制解调器是 Conexa
  • 可以嵌套
    吗?

    在 asp net 网页的内容页中 我想包含 paypal 按钮 立即付款 所以 我有一个母版页和一个内容页 在我的内容页面中 我复制粘贴贝宝代码 特别是 我使用 modalpopupextender 来允许我的用户购买该对象 问题是 它不
  • 了解 JAX-WS 中的 @Oneway 注释

    根据 javadoc 指示给定的 WebMethod 只有输入消息而没有输出 通常 单向方法在执行实际业务方法之前将控制线程返回给调用应用程序 如果标记为 Oneway 的操作具有返回值或 Holder 参数 或者声明任何已检查异常 181
  • UPDATE SET 中的子查询 (sql server 2005)

    我有一个关于在 Update 语句中使用子查询的问题 我的例子 UPDATE TRIPS SET locations city FROM select Distinct city from poi where poi trip guid t
  • Qt中如何从主窗口打开一个新窗口?

    我是 qt 编程新手 想知道如何在主窗口消失的情况下从主窗口打开一个新窗口 有没有源代码我可以看一下 从主窗口中的插槽调用以下代码 QWidget wdg new QWidget wdg gt show hide this will dis
  • 将字典保存到 UserDefaults

    我试图在 UserDefaults 中存储字典 并且在代码运行时总是导致应用程序崩溃 以下是执行时导致应用程序崩溃的示例代码 我尝试将其转换为 NSDictionary 或最初将其设为 NSDictionary 得到了相同的结果 class
  • String.getBytes("UTF-16") 在所有平台上都会返回相同的结果吗?

    我需要从包含用户密码的字符串创建哈希 为了创建哈希 我使用通过调用获得的字节数组String getBytes 但是 当我在不是默认编码的平台上使用指定编码 例如 UTF 8 调用此方法时 非 ASCII 字符会被默认字符替换 如果我正确理
  • Java 中的“类型不明确”错误是什么?

    在下面的代码中 我在最后一行收到编译器的错误 列表类型不明确 在尝试定义 cgxHist 列表的行上 我究竟做错了什么 import java awt import javax swing import java util public c
  • 学习Ruby:推荐阅读的博客? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我即将开始学习 Ruby 并且想要一些阅读材料来帮助我学习 我正在寻找你的top 5Ruby 上的博客 新闻和任何 活跃的 公告板 我可以很好地处理新闻组 但我更喜欢在 BB 中阅读
  • MySQL“二进制”与“char字符集二进制”

    有什么区别binary 10 vs char 10 character set binary And varbinary 10 vs varchar 10 character set binary 它们是同义词吗allMySQL 引擎 有什
  • 将负 y 轴转换为正 (matplotlib)

    I want to plot bar chart for some parameters for men and women I have done like this 我想显示上侧 正 y 轴 的平均值和下侧 负 x 轴 女性的频率 在这
  • 使用 php 显示当前页面的活动导航

    我正在尝试使用 current url basename SERVER PHP SELF 为了确定我在哪个页面 考虑到我的导航 html 存储在 php 文件中并包含在每个页面中 这是我用来确定哪个导航选项应处于活动状态的代码 ul ul
  • NHibernate QueryOver 选择实体和聚合

    我想要做的是显示一个简单的数据网格 其中包含实体数据及其子项的聚合数据 例如 让我们使用订单和行项目 我想显示订单信息以及行项目数 订单 ID 订单日期 行项目数 现在通常在 SQL 中你可以通过多种方式做到这一点 但这是我能想到的在转换为
  • 将 TypeScript 编译器加载到 ClearScript 中,“WScript 未定义”,不可能完成的任务?

    我尝试使用清晰脚本加载打字稿编译器来编译一些基本的 TypeScript 代码 不幸的是 当执行 TypeScript 编译器源代码时 我收到此错误 WScript 未定义 这是LINQPad我使用过的程序 放置 ClearScript d
  • 提升::变体; std::unique_ptr 和复制

    这个问题确定了不可复制类型不能与Boost变体一起使用 Tree class template
  • SIMD 常量浮点数

    我一直在尝试使用微软的 sse 内在函数来优化一些代码 优化代码时最大的问题之一是每当我想使用常量时就会发生 LHS 似乎有一些关于生成某些常量的信息 here and 此处 第 13 4 节 但都是组装 我宁愿避免 问题是 当我尝试使用内
  • 如何在 IIS 中使用性能计数器和 WCF 服务?

    Hi 我在 IIS7 中有一个 WCF 服务 它通过 TCP WAS 与 winform 应用程序进行通信 现在我需要监视性能 我已将其添加到 web config 文件中
  • 并发调用单例对象的Java方法

    我有一个关于 Java 中多线程方法调用的问题 假设我们有一个单例对象 其类声明如下 public class SomeClass public void someMethod SomeValueObject object if objec
  • 带有连接字符串的实体框架 DbContext 构造函数

    有人可以帮助我理解以下两种将连接字符串传递给的方法DbContext 方法 1 public EWebDBContextEMS base mainConnectionString 和方法 2 public EWebDBContextEMS