首页 / 知识
关于c#:NHibernate,Castle和Linq之间的区别-他们的目标是谁?
2023-04-16 13:14:00

Differences between NHibernate, Castle, Linq - Who are they aimed at?此答案表明,Linq与NHibernate,Castle等针对的开发人员群体略有不同。 对于C#来说还很陌生,请不要忘记围绕它的所有数据库内容:
-亚当 当您说城堡时,我假设您指的是城堡活动记录? 区别在于NHibernate是OR / M,面向希望专注于域而不是数据库的开发人员。使用linq to sql,您的数据库就已经存在,并且已经存在关系,并且某些编程将由数据库的定义方式来驱动。 现在NHibernate和Castle ActiveRecord之间-它们的相似之处在于您从域中驱动应用程序设计,但是使用NHibernate时,您提供了映射xml文件(或使用流利的NHibernate的映射类),而在Active Record中您正在使用约定优于配置(使用属性来定义任何自然不适合的列和设置)。 Castle Active记录仍在后台使用NHibernate。 一个OR / M不一定是"一个真正的方法"。这取决于您的环境,开发的应用程序和团队。 您可能还想签出SubSonic。这对于主动记录非常有用,但是对于您主要要关注您的域的项目而言却不是。根据项目的不同,我通常使用NHibernate(带有Castle Active Record)或Subsonic 实际上,我们同时使用Linq和NHibernate(与Fluent一起使用)。如果您对学习曲线有些耐心,那么您很快就会坠入爱河。 NHibernate和Linq To Sql是对象/关系映射器,旨在减轻对象和RDBMS之间的阻抗不匹配。如果您想实现可测试的,持久性的无知应用程序,则可以使用NHibernate。我总是会推荐NHibernate而不是Linq To Sql。两种工具都旨在消除处理数据访问的问题。您真的需要编写几次数据访问代码? 城堡是应用程序框架和控制反转容器,不提供数据访问。它提供了使用NHibernate的设施,从而减少了摩擦,还提供了使用NHibernate的Actuve Record模式的实现。 LINQ只是一组新的C#功能:扩展方法,lambda表达式,对象初始化程序,匿名类型等。 另一方面," LINQ to SQL"是您可以比较其他SQL包装器的内容。 |
最新内容
相关内容
linux切换目标命令?
linux切换目标命令?,系统,密码,工具,命令,一致,工作,用户,终端,目录,用户名,linuxcat命令可以在不同目录中切换吗?1、首先仅仅从目录切换来看,llinux重启命令的区别?
linux重启命令的区别?,系统,服务,工作,标准,设备,命令,信息,状态,基础,时间,Linux里面级别6重启和reboot重启区别是什么?1、在linux命令中rebolinux磁盘区别命令?
linux磁盘区别命令?,信息,系统,工具,情况,管理,号码,电脑,地址,环境,单位,linux系统查看磁盘空间的命令是什么?查看磁盘空间 -df df命令以磁盘linux解压命令的区别?
linux解压命令的区别?,系统,工具,电脑,命令,文件,资料,平台,档案,名称,文件夹,Linux学习心得[压缩与解压缩命令]1、常用就是tar命令了。参数为linux命令和程序区别?
linux命令和程序区别?,系统,标准,环境,情况,控制权,服务,软件,信息,命令,文件,linux的命令是应用程序吗1、shell是一个用C语言编写的程序,它是linux命令中和区别?
linux命令中和区别?,系统,认证,电脑,网址,标准,工作,工具,位置,命令,文件,了解下,linux中和/的区别\是反斜杠,/是斜杠。windows下的目录下分隔linux中和命令的区别?
linux中和命令的区别?,系统,网络,软件,标准,命令,控制权,基础,平台,代码,投入,linux中内部命令和外部命令有何区别?区别:内部命令在系统启动时linux关机命令区别?
linux关机命令区别?,系统,工作,命令,信息,用户,进程,方式,方法,终端,区别,linux关机命令shutdown命令 shutdown命令用于安全关闭Linux系统。执linux压缩命令的区别?
linux压缩命令的区别?,系统,命令,文件,名称,定期,一致,设备,目录,文件夹,后缀,Linux学习心得[压缩与解压缩命令]常用就是tar命令了。参数为-zxlinux内外部命令区别?
linux内外部命令区别?,系统,软件,盘中,命令,基础,外部,内部,内存,口令,用户,Linux基础命令和原理总结1、sudo命令:普通用户需要执行root用户权linux内部命令区别?
linux内部命令区别?,系统,软件,盘中,工作,命令,时间,信息,外部,内存,内部,Linux中怎么区分外部和内部命令?1、内部命令在系统启动时就调入内存linux版本间命令区别?
linux版本间命令区别?,软件,系统,通用,服务,网络,名字,命令,骗局,技术,发行,是不是所有版本的linux的命令都是一样的?不是的,但基本命令一样。