更新 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 中的记录 的相关文章

  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • SQL - != 'NULL' 的解释

    我的SSMS代码如下 Select top 50 From FilteredContact Where statuscode 1 and emailaddress1 NULL and telephone1 NULL and address1
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • SQL Server 上的语法错误

    这可能是一个愚蠢的语法错误 但我只是继续阅读我的程序 但我无法弄清楚我的错误在哪里 消息 156 第 15 级 状态 1 第 41 行关键字附近的语法不正确 为了 这是我的代码 alter procedure LockReservation
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • MS ACCESS 计数/求和行数,不重复

    我有下表 我需要计算总行数而不包括任何重复记录 CustomerID test1 test1 test2 test3 test4 test4 如您所见 总行数为 6 但有两个 test1 和两个 test4 我希望查询返回 4 IOW 我想
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 设置 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