Reputation: 53
Hi there I am struggling to deal with the following situation using LINQPad
While(1 = 1)
{
MyEntity _me = MyEntities.FirstOrDefault();
foreach(ChildEntity ce in MyEntity.ChildEntities)
{
Console.WriteLine(ce.Value);
}
System.Threading.Thread.Sleep(100000);
}
Where MyEntity (and the ChildEntities collection) is an automatically created LINQ to SQL class. The rows in the underlying database may change independently of this script and I would like the ChildEntities collection to refresh from the database on each iteration of the While Loop. It currently does not.
This does not work
this.Refresh(RefreshMode.OverwriteCurrentValues, _me);
nor does
this.Refresh(RefreshMode.OverwriteCurrentValues, _me.ChildEntities);
is there anyway that I can close and re-open the LINQPad DataContext (I am a premium subscriber)
Upvotes: 5
Views: 1449
Reputation: 30964
This looks like a bug in LINQ-to-SQL.
You can re-initialize the LINQPad DataContext by instantiating it explicitly:
while(1 = 1)
{
var freshDC = new TypedDataContext();
var me = freshDC.MyEntities.FirstOrDefault();
...
}
Upvotes: 4