2

我正在为我的系统构建同步。现在,我需要将所有执行的存储过程插入到一个表中。我的解决方案是添加一个静态类并让 Dapper 在其中运行。理论上,静态类/函数在不改变任何对象状态的情况下是可以使用的。我想我会格外小心,并询问你们的想法。它会导致任何问题吗?

public static class Model
{            
    public static int ExecuteStoreProcedure(string name, string xml,bool sync=true)
    {
        using (SqlConnection con = new SqlConnection(Strings.ConnectionString))
        {
            //pre

            var result = con.Query<int>(name,
                new { xml = xml },
            commandType: CommandType.StoredProcedure).FirstOrDefault();

            //post
            // insert into new table goes here
        }
     }
}
4

1 回答 1

1

您没有访问任何共享状态,也没有依赖静态连接,所以可以肯定 - 这会起作用。有很多实现数据访问的方法,有不同的权衡,但这应该工作得很好。不要陷入“Java 陷阱”,假设您需要 16 层抽象(包括一个 ISomething、一个 AbstractSomething、两个Something、一个 AbstractSomethingFactory 和一个带有 200 行配置的SomethingFactoryFactory,使用晦涩的标记语言)来做一些简单的事情。

于 2015-05-31T10:27:06.210 回答