简单映射器模式 C# 代码生成模板

Posted

技术标签:

【中文标题】简单映射器模式 C# 代码生成模板【英文标题】:Simple Mapper Pattern C# Code Generation Template 【发布时间】:2010-09-28 11:39:36 【问题描述】:

谁能推荐一个体面的 C#Mapper Pattern 代码生成模板,它可以很好地与 SQL 存储过程配合使用?我正在寻找能够生成POCO 样式实体对象的东西,它带有一个静态映射器类,用于通过实体对象将数据传入/传出数据库。

我了解NHibernate可以生成POCO风格的实体对象;但是,当您强烈依赖 SQL 存储过程(这是本项目的要求)时,NHibernate 就失去了吸引力。

如果您还可以推荐一个还生成 CRUD 存储过程的模板,则可获得奖励积分! ;-)

编辑:对于这个特定的项目,我绝对对任何生成 Active Record 模式代码的模板不感兴趣(例如,Subsonic、Linq to SQL、Entity Framework 等)。

【问题讨论】:

【参考方案1】:

非常古老但免费的 LLBLGen 会生成 CRUD 存储过程。它也会生成对象,但我忘记了它们有多像 POCO。我觉得他们的胆子比没有的要多。

http://www.codeproject.com/KB/database/usingllblgen.aspx

【讨论】:

【参考方案2】:

您是否考虑过使用 My Generation 并使用它来创建自己的模板?

【讨论】:

我确实看过我的一代(这篇文章现在比较老了)。我只是好奇那里是否已经存在任何东西。

以上是关于简单映射器模式 C# 代码生成模板的主要内容,如果未能解决你的问题,请参考以下文章

如何为不同的数据源实现数据映射器/存储库持久性模式?

从现有数据库生成数据映射器模型

PHP面向对象之领域模型+数据映射器

简单的自动映射器示例

MyBatis 生成器 - 生成映射器实现

根据映射器代码中的某些逻辑,将映射器中的一些数据(行)写入单独的目录