我想在我正在处理的项目中实施重试策略,该项目使用连接到 MSSQL 2012 的实体框架。我可以执行以下操作:
using (var model = new MyModel())
{
for (var i = 0; i < 3; i++)
{
try
{
model.MyEntities.Where(x => x.Index < 1000);
break;
}
catch (Exception ex)
{
}
}
}
但是在我想使用模型进行查询的任何地方都这样做非常麻烦。无论如何要在模型本身中实现这一点,这样我就不必担心了?
我想到的一种方法是使用 inheritDbCommand
和 overrideExecuteScalar()
等ExecuteNonQuery()
,以便他们重复调用基类的方法一定次数,但想知道是否有更简单的方法来做到这一点?