码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-02-13 19:53:31      阅读:1114      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!