Мне нужно было обернуть некоторые запросы Linq некоторой логикой политики повторных попыток.
Безопасно ли передать это:
return WithRetry<User>(() =>
dataContext.Users.Where(u => u.UserID == userID).SingleOrDefault());
к этому:
public TResult WithRetry<TResult>(Func<TResult> methodCall)
{
// My Try/Catch Retry Code
}
Или первая строка должна быть построена следующим образом:
return WithRetry<User>(() =>
{
return dataContext.Users
.Where(u => u.UserID == userID)
.SingleOrDefault();
});