我在我的项目中使用了 SQLCLR,并且,为了记录,我对它非常满意。但是,对于良好的数据访问模式,我找不到任何好的信息来源。
通常我使用存储过程在 .net 和 SQL 之间进行通信,因为我总是想要一个用于我的数据库的 API。但是,在这种情况下,.net 代码是 API 的一部分,因此 SP 看起来很糟糕。
SQL server 中不存在 Linq2SQL(尽管它可以通过 DBA 不喜欢的方式安装),所以它不是一个选项。
我目前拥有的是我的代码与标准 ADO.NET 代码一样混乱
using (SqlCommand cmd = c.CreateCommand()) {
cmd.CommandText = "SELECT ... FROM ...";
using (SqlDataReader rdr = cmd.ExecuteReader()) {
DoSomething(rdr);
}
}
而且,尽管它有效,但它似乎非常像错误的方法。
其他人是如何做到的?