如何为现有数据库生成 Castle ActiveRecord C# 类

Posted

技术标签:

【中文标题】如何为现有数据库生成 Castle ActiveRecord C# 类【英文标题】:How to Generate Castle ActiveRecord C# Classes for an Existing Database 【发布时间】:2010-02-24 15:31:28 【问题描述】:

在给定现有数据库结构的情况下,生成用于 Castle ActiveRecord 和 NHibernate 的 C# 类的最佳方法是什么?

你能推荐任何类生成工具吗?还是手工编写类更容易?

【问题讨论】:

【参考方案1】:

如果您只有几个表且列不多,那么最好手动编写您的类。如果你的数据库已经存在,我不建议你手写很多类。

Active Writer 可以满足您的需求:http://using.castleproject.org/display/Contrib/ActiveWriter

还有其他处于各种有用状态的代码生成器。 *** 上的这个风向标还有其他问题。以下是一对:

.NET ORM solution with class auto-generation: Subsonic, Castle AR, ...?

NHibernate Generators

2010 年 6 月 1 日更新:

我现在已经公开发布了一个(基于 T4 的)Castle ActiveRecord 代码生成器作为 Windows 应用程序:

http://www.AgilityForORMs.com/Home/Products/

代码生成器有免费和商业版本。免费版本应该适用于大多数遵循某些约定(例如:使用代理主键)的“green field”数据库。

AgilityForORMs Castle ActiveRecord 代码生成器已针对 .NET 3.5 和 MS SQL Server 2005/2008 进行了测试。计划支持其他数据库供应商以及 .NET 4.0。

如果我能找到一个我满意的“现成”代码生成器,我就不会编写这个代码生成器了。我想我不妨花一些额外的时间来打包它,以便其他人也能从中受益。

【讨论】:

以上是关于如何为现有数据库生成 Castle ActiveRecord C# 类的主要内容,如果未能解决你的问题,请参考以下文章

Angular 项目:如何为现有组件树中的每个组件添加模块?

Angular2:如何为多个现有数据编写更新查询

如何为mysql中的现有表创建索引?

如何为scala中的空数据框现有列添加赋值?

如何为 PL SQL 中的现有表创建唯一 ID?

使用 django rest 框架,如何为现有父对象添加新的嵌套子对象