【发布时间】:2011-02-02 13:47:09
【问题描述】:
我正在创建一个 3 层应用程序。基本上是这样
Client -> (通过可选的服务器到 做一个瘦客户端)-> 业务逻辑-> 数据库层
并且基本上做到了,这样就不会有任何跳过。因此,我希望所有 SQL 查询等都在数据库层中。
嗯,现在我有点困惑。我做了一些静态类来启动数据库层,但是我应该为数据库连接做些什么呢?我应该在进入数据库层的任何时候创建一个新的数据库连接还是会浪费?每当您拥有 ConnectionPool 时,Connection.Open() 是否需要时间?
对我来说,业务层必须将 IdbConnection 对象传递给数据库层感觉不对。似乎数据库层应该处理所有特定于数据库的代码。你怎么看?我怎样才能在保持实际的同时以正确的方式做到这一点?
【问题讨论】:
-
您有什么特别的理由不使用 ORM 吗?我发现不必手动编写 SQL 查询,更不用说连接管理、缓存和所有其他方面的好处,它可以为我节省 20-50% 的开发时间。
-
因为将我们的旧项目与一堆废话 SQL 带入新项目是很简单的过程。
-
以下任何答案对您有帮助吗?
-
是的,当你给出一个好的答案却没有得到支持时,这有点烦人。我认为所有其他答案实际上都很好,所以我会指出。 . .
标签: c# .net database data-access-layer