我发现我可以用NHibernate做更多,甚至Castle,而不是Linq to Entities,或linq to SQL.
我疯了吗?
不,你不是疯了.nHibernate是一个完整的OR Mapper,Linq to SQL和Linq to Entities没有实现OR映射器所期望的一切,并且针对的是一组略有不同的开发人员.
但是,不要让那让你失去linq.Linq仍然是一个不错的主意..尝试Linq到nHibernate :-)
NHibernate,Castle等的最大缺点是它们的重量不是很轻(特别是NHibernate).
Linq to SQL适用于轻量级,有限使用的ORM.
我已经使用了NHibernate和LINQ to SQL.从我的观点来看,它取决于项目,如果我需要快速的东西,我会选择L2S,创建dbml映射并开始使用它是如此简单.如果我正在开发一个更高级的企业解决方案,我会选择经过尝试和信任的ORM - NHibernate,我发现日志和事务功能很简单.
LINQ to SQL具有相对较短的学习曲线,NHibernate具有更陡峭的学习曲线.
LINQ to SQL只支持SQL Server,所以如果你有一个Oracle数据库,那么已经做出了决定 - NHibernate.
我建议您查看http://www.summerofnhibernate.com/,了解有关学习NHibernate的优秀截屏视频.