更新 EF 4.1 中的记录

2024-04-11

我有一个员工对象说:

public class Employee
{
    public int Id {get; set;}
    public int Name {get; set;}
    public int Address {get; set;}

 ...other few 10's of properties
}

问题是我如何只更新名称?例如。如果我想更新姓名,我会这样做

Employee e = Db.Employees.Where(e => e.Id == someId).SingleOrDefault();
e.Name = "Jack";
Db.SaveChanges();

如您所见,为了更新,我必须首先获取对象,然后更新,然后调用 SaveChanges()。对于可以通过对数据库的单个查询完成的任务,我必须触发 2 个查询:1)获取对象 2)更新所需的对象并保存更改。

对于传统的存储过程方法,我只需传递 Id、传递新名称并写入 Update 语句,然后就完成了。实体框架真的那么低效还是我错过了什么?


您可以有选择地更新列:

var employee = new Employee() { Id = someId, Name = "Jack" }
Db.Employees.Attach(employee);
Db.Employees.Entry(employee).Property(e => e.Name).IsModified = true;

Db.SaveChanges();

注意:仅带有 .NET 4.5 的 EF 5 支持设置IsModified回到false.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新 EF 4.1 中的记录 的相关文章

  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • 如何针对 Nancy 中的 Active Directory 进行身份验证?

    这是一篇过时的文章 但是http msdn microsoft com en us library ff650308 aspx paght000026 step3 http msdn microsoft com en us library
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • 将 System.Windows.Forms.Keys 序列转换为 Char

    有没有办法转换由 Keys 枚举表示的击键序列 即System Windows Forms Keys 在一个字符中 例如 Keys Oem4进而Keys A产生 char 它一定存在于 WinAPI 中的某个地方 因为当我在文本框中按下按键
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 累计非重复计数

    我正在查询每天获取 uid 的累计不同计数 示例 假设有 2 个 uid 100 200 出现在日期 2016 11 01 并且它们也在第二天出现 新的 uid 300 100 200 300 出现在 2016 11 02 此时我希望商店累
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 如何在动态查询中将行值连接到列名

    我正在开发一个允许配置问题和答案的应用程序 目前最多可以有 20 个答案 但也可能更少 我的结构如下 问题 ID FormId QuestionText AnswerField 1 1 Name Answer01 2 1 Address A
  • SQL:查找每个跑步者跑步之间的平均天数

    因此 如果我们给出下表 runner ran Carol 2011 02 01 Alice 2011 02 01 Bob 2011 02 01 Carol 2011 02 02 Bob 2011 02 02 Bob 2011 02 03 B
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 设置 Keycloak 返回的访问令牌的范围

    我正在关注这个教程https medium com sairamkrish keycloak integration part 3 integration with python django backend 5dac3b4a8e4e ht
  • 我可以通过 npm 分发非 javascript 文件吗?

    如果您将 Npm 与 TypeScript 或 JavaScript 一起使用 它是一个很棒的工具 但据我所知 看起来可以通过 node npm 分发任何类型的项目或语言 例如 假设我创建了一个包含一些库的 php phar 文件 我可以使
  • 将新行添加到数据表的顶部

    当我们使用 datatable newrow 命令时 一个新的空行添加到行的底部 但是我希望将 newrow 添加到数据表的顶部 我怎样才能做到呢 您可以使用 NewRow 创建具有相同列的行 要真正将其放入数据表中 您必须执行以下操作 m
  • 摩纳哥编辑器:隐藏概述标尺

    有没有办法在摩纳哥编辑器中完全隐藏概述标尺 通过以下内容仍然可见 overviewRulerLanes 0 hideCursorInOverviewRuler true scrollbar vertical hidden overviewR
  • Android“找不到字体资源”错误

    我正在为 Android 版本 22 进行开发 我收到运行时异常 找不到字体资源 这是代码 Typeface customFont Typeface createFromAsset getAssets fonts norwester otf
  • 如何在嵌入式 YouTube iFrame 端触发功能

    尝试在嵌入式 YouTube iFrame 末端触发函数 只需要知道如何找到终点 之后我就很好了 很难从你的问题中看出 但听起来你想在 YouTube 视频结束时触发一个事件 您可以使用下面的示例代码设置事件处理程序 player new
  • 估计测试工作量占开发时间的百分比[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • sql server图形查询,找到节点的所有路径

    我有一个非常常见的问题 我试图使用图形查询来解决 sql server 2017 我想构建一个查询并查找节点中的任何人如何连接到C 我想构建一个查询并查找节点中的任何人如何连接到C 有 1 或 2 个连接 这是创建该图的完整脚本 DROP
  • 使用 Facebook v2.1 Graph API 通过 cURL 以编程方式创建测试用户

    我想以编程方式为我的 Facebook 应用程序创建 Facebook 测试用户 我一直在查看 HTTP Facebook Graph API v2 1 的 API 文档 https developers facebook com docs
  • 如何检测 mongodb 序列化程序是否已注册?

    我为 mongoDB 创建了一个自定义序列化器 我可以注册它并且它按预期工作 然而 我的应用程序有时会抛出错误 因为它尝试注册序列化器两次 如何检测序列化器是否已注册 从而阻止我的应用程序再次注册 如果您正在使用 BsonSerialize
  • iTunes Connect 中的无限制 Web 访问意味着什么

    当您将应用程序提交到Apple应用程序商店时 有一个名为 评级 的部分 您应该根据图表对内容进行评级并确定内容出现的频率 有一个选项称为 无限制的网络访问 互联网上也没有关于此的更多详细信息 iTunes Connect 开发人员指南 ht
  • 意图设置标志 FLAG_ACTIVITY_CLEAR_TOP

    在Android上 我启动了4个活动A B C D 如果我想从D返回到A 我可以使用 intent setFlags Intent FLAG ACTIVITY CLEAR TOP 但如果活动是如下打开的同班活动 我现在如何从D回到A Int
  • ORDER BY 日期和时间 BEFORE GROUP BY mysql 中的名称

    我有一张这样的桌子 name date time tom 2011 07 04 01 09 52 tom 2011 07 04 01 09 52 mad 2011 07 04 02 10 53 mad 2009 06 03 00 01 01
  • 如何让用户轻松选择在 Java Swing 应用程序中分配多少内存?

    我们有一个处理相对大量数据的 Swing 应用程序 例如 我们目前处理包含数百万行数据的 CSV 文件 出于性能和简单性的原因 我们将所有数据保留在内存中 然而 不同的用户需要处理的数据量以及 RAM 量也不同 创建安装程序时 我们当然需要
  • 使用属性名称构建 OrderBy 表达式

    我正在尝试通过以下方式支持排序WebGridMVC3 中的控件 它将模型上的属性名称通过sort范围 public class Agent public int Id get set public string Name get set H
  • 在 Visual Studio 中使用 VSCode 扩展

    今天我发现了一个VSCode 扩展 https marketplace visualstudio com items itemName GrapeCity gc excelviewer我非常想在 Visual Studio 2017 专业版
  • REST API 设计中的查找或创建习惯用法?

    假设我们有一个 用户 资源 对 名称 有唯一的约束 您将如何设计 REST API 来处理查找或创建 按名称 用例 我看到以下选项 选项 1 多个请求 client POST user name bob server HTTP 409 or
  • RichTextBox 并在插入符位置插入

    事情是这样的 我有一个 RichTextBox 控件 它工作正常 问题是有一个按钮 插入当前日期时间 它将当前日期时间添加 注入到 RichTextBox 中 用户可以在插入符号指向的任何位置输入日期时间 这涉及复杂的字符串操作之类的东西
  • Python3中的__builtin__模块在哪里?为何更名?

    我很好奇 builtin 模块及其使用方法 但我在Python3中找不到它 为什么被移动 Python 2 7 gt gt gt import builtin gt gt gt Python 3 2 gt gt gt import buil
  • 更新 EF 4.1 中的记录

    我有一个员工对象说 public class Employee public int Id get set public int Name get set public int Address get set other few 10 s