1

我想在我正在处理的项目中实施重试策略,该项目使用连接到 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(),以便他们重复调用基类的方法一定次数,但想知道是否有更简单的方法来做到这一点?

4

1 回答 1

0

目前不可能“使用模型”。您必须手动实现它。如果您正在使用类似的东西,可以在 ie 存储库或某些“数据访问适配器”中。或者,如果您想成为硬核 :),您当然可以创建自己的 IDbConnection、IDbCommand 等。

于 2013-02-04T12:59:42.297 回答