NHibernate Attributes- -| 回首页 | 2004年索引 | - -从“OO的价值”说起

NHibernate实体配置自动生成- -

                                      

写了一段小程序,用来自动生成NHibernate实体配置文件(.hbm.xml文件)。非常简陋,使用了System.Reflection和System.xml命名空间的一些东西,仅仅能够保证Quick Start Guide的例子使用而已,还需要改进和重构。但是思路就可以这样定下来了。现在一个NHibernate实体类大概写成这样:
 
 [NHibernateClass(Table = "TBL_USERS")]
 public class User {
  [NHibernateId(GeneratorClass = "assigned")]
  public string Id {
   get { return id; }
   set { id = value; }
  }
  [NHibernateProperty(Column = "Name")]
  public string UserName {
   get { return userName; }
   set { userName = value; }
  }
  [NHibernateProperty]
  public DateTime LastLogon {
   get { return lastLogon; }
   set { lastLogon = value; }
  }
 }
 
可以用NAnt一次性自动生成N个assembly中的所有实体配置文件。但是还有个问题:如何把生成之后的配置文件放进已经打包好的assembly里面?换句话说,如何把资源文件插入assembly?如果做不到,就只好先编译打包assembly,再生成配置文件,再打包一次。
 
请在下列地址下载现有的源码(C#):
http://gigix.blogdriver.com/diary/gigix/inc/NHibernateAttributes.pdf
BlogDriver不允许上传zip文件,请下载此文件后改名为.zip即可打开。

- 作者: gigix 2004年06月25日, 星期五 16:06

Trackback

你可以使用这个链接引用该篇日志 http://publishblog.blogdriver.com/blog/tb.b?diaryID=215723

回复

- 评论人:lkk

Fri Jul 15 16:15:43 CST 2005  作者Blog

透明的这个思路不错,不知道有没有开发完成?

- 评论人:toolizese

Thu Jul 14 18:38:45 CST 2005  作者Blog

NHibernateAttributes的下载链接已经无效。不知道透明的最后实现怎么样?我想,既然可以生成.hbm.xml,而且实体类代码也已经写就,那么数据表也就不需要手动去建立了,直接new SchemaExport (cfg).Create(true,true);就搞定了。

- 评论人:新手上路多多指点

Sat Jun 04 17:37:38 CST 2005  作者邮箱  作者Blog

最近接触NHibernate这个东东,在使用时觉得很不爽,特别是它的配置文件,本来使用生成器生成的在改了一点之后就一老是出错,又不知是什么错,查不出来,出现如下的错误信息:
A ManifestResourceStream could not be created for the resource WellDell.BM.User.DataAccess.Cfg.xml in Assembly WellDell.BM.User, Version=1.0.1981.31050, Culture=neutral, PublicKeyToken=null
请那位大虾指点指点,这是什么原因呢?难道在配置文档里还有注意些什么吗?在此多谢啦!拜托!

- 评论人:wngwz

Fri Apr 29 13:08:34 CST 2005  作者邮箱  作者Blog

谢谢!可以给我发一份吗!

- 评论人:DaveCai

Thu Jan 27 15:12:09 CST 2005  作者邮箱  作者Blog

自动生成Nhibernate配置,安装文件下载地址:
http://www.cnblogs.com/Files/caidehui/SetupGenerate.rar

- 评论人:Dave

Thu Oct 21 15:19:33 CST 2004  作者邮箱  作者Blog

我已经完成了一个自动生成NHibernate配置文件的工具,支持NHibernateClass,NHibernateID,NHibernateProperty,NHibernateOne-One Nhibernate One-Many Many-One Many-Many的自动生成,有需要的请使用:cai_dehui@haihuisoft.com.cn 或者QQ:19646007与我联系

 该工具我已经发布到CSDN的共享软件区,不知道什么时候能用,如果哪位知道有哪个地方比较适合发布,请使用Email告诉我一声

- 评论人:匿名

Sat Oct 09 08:41:40 CST 2004  作者Blog

文字

- 评论人:Binzy Wu

Sat Jun 26 00:49:12 CST 2004  作者Blog

说做就做呀
不过为什么一定要放进Assembly中呢?Nhibernate支持放在外面呀。
据我所知放进Assembly可以这样
1. 编译资源文件
2. 通过ILMerge合并2个Dll, http://research.microsoft.com/%7Embarnett/ilmerge.aspx
没有尝试过,不知是否确实可行

评论内容: