- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 DbEntityEntry.CurrentValues.SetValues() 方法来促进使用来自非实体 DTO 的值更新现有实体(参见:http://blogs.msdn.com/b/adonet/archive/2011/01/30/using-dbcontext-in-ef-feature-ctp5-part-5-working-with-property-values.aspx)
不过,我在删除对 DbEntityEntry 的依赖时遇到了问题(用于模拟、测试)。这是我想做的一个例子:
var entity = dbSet.Find(dto.Id);
var entry = context.Entry(entity);
entry.CurrentValues.SetValues(dto);
context.SaveChanges();
我还考虑过:
EntityType entity = new EntityType() { Id = dto.Id };
context.Attach(entity);
var entry = context.Entry(entity);
entry.CurrentValues.SetValues(entity);
context.SaveChanges();
据我所知,在使用实际的 DbContext 时,两者似乎都是合理的,但是当我将上下文抽象为 IMyContext 时,我失去了为实体获取 DbEntityEntry 的能力,因此失去了 SetValues 选项。
有什么方法可以解决此问题,还是我需要硬着头皮手动设置来自 DTO 的实体的修改属性(对于具有许多属性的实体可能有很多样板)?
(我是 EF 的新手,这是我的第一个 StackOverflow 问题,所以请保持温和)
最佳答案
如果您以前从未使用过它,这将是 AutoMapper 的一个很好的用途(也可通过 NuGet 获得)。我不知道如何解决您的 IMyContext 问题,并且还会求助于映射属性。但我不会手动执行此操作,而是允许 AutoMapper 完成繁重的工作。
关于entity-framework-ctp5 - 在 EF4 CTP5 Code First 中模拟 DbEntityEntry.CurrentValues.SetValues(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5409877/
虽然各有不同,但它们常常服务于相似的目的。简而言之,我想知道两者中哪一个比另一个性能更好?一般来说,是一个比另一个更受青睐,还是这真的只是个人喜好问题? $("div").each(function(
我在映射到类的函数内部使用 NumberPicker 包 ( https://pub.dartlang.org/packages/numberpicker )。它有效,但是选择的 currentVal
我有一个空数组,我想用字符串填充它。字符串将使用 index 值进行计数。例如: 'item 1' 'item 2' 'item 3' 我有一个可用的 map 函数可以执行此操作: let items
我正在使用flutterSilder依赖项,因为它使我可以使用“FluterSliderSteps”,从而使值的非线性增加成为可能(指数)。 现在我遇到的问题是我不知道如何从 slider 中获取当前
我正在尝试覆盖 Entity Framework 的 SaveChanges() 方法来保存审计信息。我从以下内容开始: public override int SaveChanges() {
我正在使用以下代码使用从我的代码中收集的新信息更新实体对象。我正在使用 Entity Framework 5。 我使用以下扩展方法(作为我过去在 EF4 中使用的重新附加代码的替代方法): publi
这个问题在这里已经有了答案: Why are jQuery's callback arguments inconsistent? (4 个答案) 关闭 3 年前。 我正在使用 id 从 DOM 中拉
我以前没有遇到过这种情况,因为我通常由它们自己处理集合,而不是直接在实体上修改它们。 public class Schedule: BaseEntity { p
使用 Entity Framework Core 的人可能知道,当前版本没有实体的 CurrentValues.SetValues() 实现。看起来对此的支持将在下一个版本 v1.1 中出现,因为 i
我在 EF7/asp.Net Core 应用程序中遇到问题。在我的上下文中,我创建了一个保存方法: public int Save() { ChangeTracker.
我正在使用 Entity Framework 4.1,并且我有我的 DbContext Override SaveChanges 来审核属性更改。从“GetEntryValueInString”返回空
我在更新 EF Core 中的实体然后在表中记录这些更改时遇到了问题。使用的技术是: .NET 核心 2.2.0 EF 核心 2.2.3 所以,我想从数据库中获取一个实体,在前端对其进行编辑,然后在后
我正在尝试使用 Entity Framework Core 1.0 RC 1 更新实体及其相关子实体,其中实体与 DbContext 分离。我之前使用类似于此 answer 中描述的解决方案来完成此操
我正在尝试使用 DbEntityEntry.CurrentValues.SetValues() 方法来促进使用来自非实体 DTO 的值更新现有实体(参见:http://blogs.msdn.com/b
我是一名优秀的程序员,十分优秀!