我的 MVC 应用程序访问 DB2/400。
我的 DAL dll 正在围绕 ADO.NET 构建。
我需要构建一些简单的控制器动作。我不想为了得到一些简单的东西并使我的 DAL 变胖而到处执行 datareader 方法。
这些操作大多是通用的 SQL 语句,它们修复了我们企业系统中的一些错误,所以我想让它们保持简单并容易地改变它们。
如果我在网页中使用 webmatrix.data db api 可以吗?
如果没有,是否有任何简单的替代方案?
我的 MVC 应用程序访问 DB2/400。
我的 DAL dll 正在围绕 ADO.NET 构建。
我需要构建一些简单的控制器动作。我不想为了得到一些简单的东西并使我的 DAL 变胖而到处执行 datareader 方法。
这些操作大多是通用的 SQL 语句,它们修复了我们企业系统中的一些错误,所以我想让它们保持简单并容易地改变它们。
如果我在网页中使用 webmatrix.data db api 可以吗?
如果没有,是否有任何简单的替代方案?
如果愿意,您可以使用 WebMatrix.Data,但您也可以查看受 WebMatrix.Data 启发的Massive ( https://github.com/robconery/massive )。它可能更符合企业风格的方法。
我最终选择了DAPER作为我的解决方案
它正是我想要的。扩展 IDBconnection 并给我我需要的东西。
例子:
普通 ado.net 方法中的等价物将是 20-30 行,以便执行数据读取器并遍历结果。
这是 Dapper 的实现:
private IDbConnection db = new OleDbConnection(ConfigurationManager.ConnectionStrings["ENTERBG"].ConnectionString);
ViewBag.F4211 = this.db.Query<dynamic>(@"SELECT sdivd,SDDOC,SDDCT,SDDOCO,SDDCTO,SDODOC,SDODCT FROM F4211 WHERE SDDCT IN
('E8','E9','E0','EP','EC','EB','ED') AND SDODOC <> SDDOC AND
SDODOC<>0 order by sdivd");
上面的例子作为一个例子。我不会为此使用 ViewBag。