gpt4 book ai didi

c# - NHibernate、CaSTLe、Linq 之间的区别——它们针对的是谁?

转载 作者:太空狗 更新时间:2023-10-29 17:35:35 26 4
gpt4 key购买 nike

This answer says Linq 针对的开发人员群体与 NHibernate、CaSTLe 等略有不同。

作为 C# 的新手,没关系围绕它的所有数据库内容:

  • 除了 NHibernate、CaSTLe 和 Linq,还有其他主要的 SQL 包装器吗?找不到更好的术语了?
  • 它们之间有什么区别?
  • 他们面向什么样的开发者或开发人员?

-亚当

最佳答案

当您说 CaSTLe 时,我假设您指的是 CaSTLe Active Record?

不同之处在于,NHibernate 是一个 OR/M,面向希望专注于领域而非数据库的开发人员。使用 linq to sql,您的数据库是预先存在的,您是关系,一些编程将由您的数据库定义方式驱动。

现在在 NHibernate 和 CaSTLe ActiveRecord 之间——它们的相似之处在于您从域中驱动您的应用程序设计,但是对于 NHibernate,您提供映射 xml 文件(或使用流畅的 NHibernate 映射类),而在 Active Record 中您使用配置约定(使用属性来定义任何不自然适合的列和设置)。 CaSTLe Active Record 仍在后台使用 NHibernate。

一个 OR/M 不一定是“唯一正确的方法”。这取决于您的环境、您开发的应用程序和您的团队。

您可能还想查看 SubSonic .它非常适合事件记录,但不适用于您希望主要关注您的域的项目。根据项目的不同,我通常使用 NHibernate(带有 CaSTLe Active Record)或 Subsonic

关于c# - NHibernate、CaSTLe、Linq 之间的区别——它们针对的是谁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/82632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com