2013-01-17 32 views
3

您好我奮力應對使用LINQPad刷新的DataContext在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的(我是一個高級用戶)

回答

2

這看起來像是LINQ-to-SQL中的一個錯誤。

可以通過顯式實例化它重新初始化LINQPad的DataContext:

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

三江源喬阿爾巴哈利。愛你的產品! –