比如说数据访问层有可能用nhibernate、ado.net、甚至ef,那么model该如何设计才好,且通用性好呢?
只有10分了。。。
其实应该反过来考虑,针对各种Model,数据访问层应该怎么设计才能通用性好呢?我们不是要为了某个数据访问层而去设计Model,应该为了适应各种Model来设计数据访问层,如果nhibernate、ado.net、甚至ef都不能适应最简单的Model,那么我将果断放弃这些所谓的著名框架。
推荐使用Dapper,似乎没有名气,但它确实是高效率,通用性强的数据访问层。最重要的是他开源,代码易维护,我已经对它的底层修改了很多次,改动量高达50%。
参看 DDD 中的 Repository 模式。