首页 > 数据库技术 > 详细

使用EF生成数据模型,然后在数据库直接修改数据,前台刷新以后数据没有改变

时间:2015-02-13 19:51:32      阅读:1920      评论:0      收藏:0      [点我收藏+]

sl5+wcf ria +ef 

初学者水平

在sqlserver手动修改了数据库的数据以后,再到前台去刷新数据,发现数据没有变化,服务端返回和前台不一致

 

服务端代码

 

public IQueryable<Customer> GetCustomerByCustomerId(string customerId)
{

  return this.ObjectContext.Customer.Where(e => e.CustomId == customerId);
}

 

客户端更新按钮代码

private void Button_Click(object sender, RoutedEventArgs e)
{

  customerContext.Load<Customer>(customerContext.GetCoustomerByCustomerIdQuery("000001")).Completed += (s, x) =>
  {
    customer = (Customer)((LoadOperation<Customer>)s).Entities.FirstOrDefault();
    MessageBox.Show(customer.CustomName + customer.Address);
  };
}

 

例如修改了编号000001的customerName和customerAddress

 在后台查看返回数据

 

技术分享

前台获取的数据

技术分享

原因无法清楚的表述出来,应该是和EF的持久化上下文有关

暂时的解决方法

在调用后台服务之前先调用上下文customerContext的EntityContainer.Clear()方法

希望在深入学习EF后能有所改善,也希望大家指点一下具体原因

使用EF生成数据模型,然后在数据库直接修改数据,前台刷新以后数据没有改变

原文:http://www.cnblogs.com/daguangtou/p/4290771.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!