我想在我正在使用的项目中实现重试策略,该项目使用连接到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)
{
}
}
}
但是在我想要使用模型进行查询的任何地方都这样做非常麻烦。反正有没有在模型中实现这个,所以我不必担心它?
我想到的一种方法是继承DbCommand
并覆盖ExecuteScalar()
,ExecuteNonQuery()
等,以便他们重复调用基类的方法一定次数,但想知道是否有更简单的方法吗?
答案 0 :(得分:0)
目前无法“使用模型”。你必须手动实现它。如果您正在使用类似的东西,请在存储库或某些“数据访问适配器”中。或者如果你想要去核心:),你当然可以创建自己的IDbConnection,IDbCommand等。