Problemer med delegates inde i en using { } block
Jeg har problemer ved at gøre brug af delegate funktioner inde i en using block:Jeg har fx. følgende scenarie:
using (var mycontext = new MyEntityFrameworkEntities())
{
result = Agent.RetrieveData(Name.ToString(), () => context.persons.Where(m => m.Id == myId).Select(v => new Person
{
Id = v.Id,
Birthdate = v.Birthdate,
Name = v.Name
}).ToList());
}
Så brokker resharper sig om at 'mycontext' -> 'Access to disposed closure'.
---------------------------------------------------------
Gør jeg følgende, så er alt ok ift. resharper, men det er jo lidt snyd, og så hjælper en using statement mig ikke så meget:
using (var context = new MyEntityFrameworkEntities())
{
var myContext = context; // <-- bruger en
result = Agent.RetrieveData(Name.ToString(), () => myContext.persons.Where(m => m.Id == myId).Select(v => new Person
{
Id = v.Id,
Birthdate = v.Birthdate,
Name = v.Name
}).ToList());
}
---------------------------------------------------------
Hvad bør jeg gøre i denne situation. Inde i min delegate håndterer, jeg nogle andre ting, som jeg ikke vil lave om på.