创建Model类或坚持使用通用数据库实用程序类更好吗?

Ste*_*nby 9 c# database asp.net-mvc ado.net

我们内部有一个简单的实用程序类用于数据库调用(围绕ADO.NET的轻量级包装),但我正在考虑为每个数据库/对象创建类.这样做是否明智,或者只有在我们使用ASP.NET的完整MVC框架时才会受益?

所以我们有这个:

SQLWrapper.GetRecordset(connstr-alias, sql-statement, parameters);
SQLWrapper.GetDataset(connstr-alias, sql-statement, parameters);
SQLWrapper.Execute(connstr-alias, sql-statement, parameters);
Run Code Online (Sandbox Code Playgroud)

考虑这样做:

Person p = Person.get(id);
p.fname = "jon";
p.lname = "smith";
p.Save();
Run Code Online (Sandbox Code Playgroud)

或者换新纪录 -

Person p = new Person();
p.fname = "Jon";
p.lname = "Smith";
p.Save();
p.Delete();
Run Code Online (Sandbox Code Playgroud)

这会很聪明,还是会有点矫枉过正?我可以看到重用,更改数据库和维护/可读性的好处.

Kar*_*uin 10

这个问题是加载的,数据驱动设计与域驱动设计.对于具有大量行为的任何应用程序,应首选域驱动设计.报告或实用程序应用程序倾向于使用数据驱动设计更好地(或更快地开发).

你问的是"我的公司应该如何设计我们的代码".作为一个领域狂热者,我的直觉反应是尖叫是的.但是,由于问题的简单性,我不确定您是否完全理解您提出的更改的范围.我想你应该多谈谈你的团队.

获取一些文献,如埃文的DDD书籍,或免费的基金会电子书,然后你就可以更好地判断你应该去哪个方向.