我目前有一个项目,它使用各种数据库访问技术,主要用于展示或演示。
目前我们有:
Namespace App.Data (App.Data.dll)
Folder NHibernate
Folder EntityFramework
Folder LinqToSql
上面的结构没问题,因为我们只使用Sql Server作为数据库。但是今后我们将包括Oracle,MySql等。
那么考虑到这一点会有什么更好的结构呢?
我想到了:
Namespace App.Data.SqlServer (App.Data.SqlServer.dll)
Folder NHibernate
Folder EntityFramework
Folder LinqToSql
或者为每个数据库和访问技术设置单独的程序集会更好吗?:
Namespace App.Data.SqlServer.NHibernate (App.Data.SqlServer.NHibernate.dll)
Namespace App.Data.SqlServer.EntityFramework(App.Data.SqlServer.EntityFramework.dll)
Namespace App.Data.Oracle.NHibernate (App.Data.Oracle.NHibernate.dll)
Namespace App.Data.MySql.NHibernate (App.Data.MySql.Oracle.dll)
答案 0 :(得分:0)
我几乎会做相反的事情,并通过DAO实施技术进行分组。
- Namespace App.Data
-NHibernate
- SQLServer
- Oracle
-EntityFramework
- SQLServer
- Oracle
从那里你可以拆分DLL,如果它是必要的。所以你可以拥有2个dll,或者4个你认为合适的dll。