【问题标题】:LinqtoSQL and problemsLinq to SQL 和问题
【发布时间】:2010-09-16 06:46:12
【问题描述】:

我正在使用 sql 链接,我有一组连接的对象。

我开始做这样的 linq 语句

Dim L= from II in context.InventoryItems select II
Dim L2 = L.tolist

第二行是为了缩小问题发生的范围。当第二行被点击时,我收到一个错误“EntitySet 已加载并且无法更改源”

任何想法可能导致这种情况?

【问题讨论】:

  • 这是一个新鲜的上下文还是你以前用过?您确定要从数据库加载所有个库存项目吗?这就是您对 ToList 调用所做的事情。这将有助于添加异常本身和堆栈跟踪。

标签: asp.net vb.net linq linq-to-sql


【解决方案1】:

Omer 的评论提出了一个很好的观点:这个 DataContext 是从以前的操作中重用的吗?如果是这样,您可能需要查看 Dino Esposito 的 blog post 关于 DataContext 的生命周期,以确保您不会将其保留太久。

该错误听起来可能您已经使用该 DataContext 从 InventoryItems 表中加载了数据,并且可能对绑定到您尚未提交的 DataContext 的实体进行了一些更改。如果您在没有指定任何特殊 DataLoadOptions 的情况下使用全新的 DataContext 尝试您的代码,它应该可以工作。

【讨论】:

    【解决方案2】:

    对于任何感兴趣的人,请小心你在构造函数中所做的事情,我在构造函数中初始化了一些我不应该初始化的东西,它导致从数据上下文加载时出错。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多