的EntityFramework更新局部模型

我工作的MVC项目,与存储库模式和实体框架,现在我的表格上,我有一个样品模型

的SampleModel
1)名称
2)年龄
3)地址
4)注意事项
5)更新日期

我编辑表单上只显示以下数据
1)名称
2)年龄
3)地址

现在,如果我更新缺少使用存储库中的笔记属性值,模型,dateupdated区域变空。

我的问题是如何更新使用资料库只有少数选定的属性(tryupdatemodel在库中不可用),我不想打电话给原来的对象和性质在与更新的模型映射。

有什么办法,一定有。

--------------解决方案-------------

您可以更新领域的唯一子集:

using (var context = new YourDbContext())
{
context.SamepleModels.Attach(sampleModel);

DbEntityEntry<SameplModel> entry = context.Entry(sampleModel);
entry.Property(e => e.Name).IsModified = true;
entry.Property(e => e.Age).IsModified = true;
entry.Property(e => e.Address).IsModified = true;

context.SaveChanges();
}

或ObjectContext的API:

using (var context = new YourObjectContext())
{
context.SamepleModels.Attach(sampleModel);

ObjectStateEntry entry = context.ObjectStateManager.GetObjectStateEntry(sampleModel);
entry.SetModifiedProperty("Name");
entry.SetModifiedProperty("Age");
entry.SetModifiedProperty("Address");

context.SaveChanges();
}

分类:C# 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.688 (s). 10 q(s)