视图模型绑定/AutoMapper

发布于 2024-10-19 05:41:10 字数 156 浏览 2 评论 0原文

我正在将 Entity Framework 4 与 Service/Repository/EF4/POCO 类技术一起使用,并且我有关于视图模型绑定的问题。

当您将类映射到视图模型并仅获取视图需要的字段,然后将其映射回该类的新实例以保存到数据库时,如何防止视图中未使用的字段被覆盖?

I am using Entity Framework 4 with the Service/Repository/EF4/POCO classes technique, and I have a question about View Model binding.

When you map a class to a view model and only take the fields the view needs, then map it back to a new instance of the class to persist to the database, how do you prevent the fields not used in the view from getting overwritten?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橙味迷妹 2024-10-26 05:41:10

这通常是通过首先从数据库加载实体并将传入数据合并到该实体来执行的(ObjectContext 将跟踪更改并仅更新更改的属性)。另一种方法是手动设置在状态管理器中修改哪些属性:

context.MyEntities.Attach(entity);
context.ObjectStateManager.GetObjectStateEntry(entity).SetModifiedProperty("Name");

现在,当您保存更改时,只有实体的 Name 属性将包含在 Update SQL 命令中。

使用存储库检查高级示例时,我在此处显示。

This is usually performed by loading entity from db first and merging incomming data to this entity (ObjectContext will track changes and update only changed properties). Another approach is manually set which properties where modified in state manager:

context.MyEntities.Attach(entity);
context.ObjectStateManager.GetObjectStateEntry(entity).SetModifiedProperty("Name");

Now when you save changes only Name property of the entity will be included in Update SQL command.

When using repostiory check high level example I shown here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文