我正在使用 EF4 自我跟踪实体(VS2010 Beta 2 CTP 2 加上新的 T4 生成器)。但是当我尝试更新实体信息时,它不会按预期更新到数据库。
我设置了 2 个服务调用。一个用于返回资源对象的 GetResource(int id)。第二个调用是 SaveResource(Resource res); 这是代码。
public Resource GetResource(int id)
{
using (var dc = new MyEntities())
{
return dc.Resources.Where(d => d.ResourceId == id).SingleOrDefault();
}
}
public void SaveResource(Resource res)
{
using (var dc = new MyEntities())
{
dc.Resources.ApplyChanges(res);
dc.SaveChanges();
// Nothing save to database.
}
}
//Windows Console Client Calls
var res = service.GetResource(1);
res.Description = "New Change"; // Not updating...
service.SaveResource(res);
// does not change anything.
在我看来,ChangeTracker.State 总是显示为“未更改”。
这段代码有什么问题吗?