4

嗨,我正在努力使用 LINQPad 处理以下情况

While(1 = 1) 
{ 

    MyEntity _me = MyEntities.FirstOrDefault(); 

    foreach(ChildEntity ce in MyEntity.ChildEntities) 
    { 
            Console.WriteLine(ce.Value); 
    } 

    System.Threading.Thread.Sleep(100000); 
}

其中 MyEntity(和 ChildEntities 集合)是自动创建的 LINQ to SQL 类。底层数据库中的行可能会独立于这个脚本而改变,我希望 ChildEntities 集合在 While 循环的每次迭代中从数据库中刷新。目前没有。

这不起作用

this.Refresh(RefreshMode.OverwriteCurrentValues, _me);

也不

this.Refresh(RefreshMode.OverwriteCurrentValues, _me.ChildEntities);

无论如何我可以关闭并重新打开 LINQPad DataContext(我是高级订阅者)

4

1 回答 1

3

这看起来像 LINQ-to-SQL 中的错误。

您可以通过显式实例化 LINQPad DataContext 来重新初始化它:

while(1 = 1) 
{     
    var freshDC = new TypedDataContext();
    var me = freshDC.MyEntities.FirstOrDefault(); 
    ...
}
于 2013-01-17T01:56:55.070 回答