加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

带有自动生成类的.NET ORM解决方案:Subsonic,Castle AR,……?

发布时间:2020-12-15 00:45:39 所属栏目:Java 来源:网络整理
导读:我曾经使用自定义数据映射库,并且我正在尝试切换到更广泛的ORM解决方案. 经过一些实验,我将我的要求提炼到以下几点: 能够从数据库模式生成可用的类(SQL Server支持就足够了), 支持ActiveRecord模式, programmaticaly可配置(通过代码或属性,没有HBM文件), 免
我曾经使用自定义数据映射库,并且我正在尝试切换到更广泛的ORM解决方案.

经过一些实验,我将我的要求提炼到以下几点:

>能够从数据库模式生成可用的类(SQL Server支持就足够了),
>支持ActiveRecord模式,
> programmaticaly可配置(通过代码或属性,没有HBM文件),
>免费.

你能推荐一个吗?

到目前为止,我尝试过:

亚音速3.0

我最喜欢的那个,因为它感觉就像功能和简单之间的良好平衡.

我不喜欢的:

>使用IQueryable<>和一对多关系两端的复数名称 – 这对我来说似乎是违反直觉的;
>为所有类生成一个文件 – 比如每个类一千行,我对代码文件那么大感觉不好;
>自动调用T4处理,因此必须始终提供具有最新模式的数据库.

Castle ActiveRecord

带有ActiveWriter加载项的CastleAR几乎就是我所需要的,但是ActiveWriter的代码并不完美(看来,Nullable<>属性不受支持,默认的一对多实现不起作用)而且我不能找到如何手动修复此代码.

Darkside GeneratorStudio产生更好的代码 – 正确的定义,每个实体一个文件 – 尽管它使用神秘的名称,如RefclassIdRefclass.我个人喜欢Studio addin而不是独立的应用程序,但这肯定是一个小问题.

CastleAR发行版中捆绑了大约20个文件;虽然本身不??是问题,但感觉就像超重.我不需要太多关于NHibernate和其他东西的深奥知识吗?

流利的NHibernate

广泛推荐,但我无法找到它的代码生成器.

我错过了重要的事吗?

解决方法

关于你不喜欢SubSonic的一些想法:

>使用IQueryable<>和一对多关系两端的复数名称 – 似乎
对我来说反直觉;

是的,我同意这是非常直观的,我从来没有深究为什么会这样,但你可以很容易地修改模板来解决这个问题.

>为所有类生成一个文件 – 比如每个类一千行,我对代码文件那么大感觉不好;

您认为这可能会导致问题,但我还没有遇到任何问题,而且我还没有看到有关stackoverflow的报告.

>自动调用T4处理,因此必须始终提供具有最新模式的数据库.

只有在编辑t4文件时才会自动调用它,所以当您对模板进行更改时,实际上只需要一个最新的模式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读