在LINQPad中刷新DataContext

时间:2013-01-17 01:07:30

标签: c# .net linq-to-sql datacontext linqpad

您好,我正在努力使用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类。底层数据库中的行可以独立于此脚本进行更改,我希望在While循环的每次迭代中从数据库刷新ChildEntities集合。它目前没有。

这不起作用

this.Refresh(RefreshMode.OverwriteCurrentValues, _me);

也不是

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

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

1 个答案:

答案 0 :(得分:2)

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

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

while(1 = 1) 
{     
    var freshDC = new TypedDataContext();
    var me = freshDC.MyEntities.FirstOrDefault(); 
    ...
}