当前位置:主页   - 电脑 - 网站开发 - ASP.Net
NHibernate之旅(20):再探SchemaExport工具使用
来源:网络   作者:   更新时间:2012-08-19
收藏此页】    【字号    】    【打印】    【关闭

  本节内容

  引入

  实例分析

  1.表及其约束

  2.存储过程、视图

  结语

  引入

  上篇我们初步探索了SchemaExport工具使用,知道如何使用SchemaExport工具和SchemaUpdate工具利用NHibernate持久化类和映射文件删除、创建、更新数据库架构,这篇具体分析如何为表字段增加一些约束?如何生成存储过程?如何生成视图?使用SchemaExport工具帮你搞定。

  实例分析1.表及其约束

  众所周知,SchemaExport工具根据映射文件来生成数据库架构,在映射文件中通过Class映射可以很方便的生成数据库表。但是这篇我们看看映射的条件,所以我重新定义两个实体CategorySchema和ProductSchema,一对多关系。

  Step1:两个实体持久化类编写代码如下:

public class CategorySchema
{
  public virtual Guid Id { get; set; }
  public virtual string Name { get; set; }
}
public class ProductSchema
{
  public virtual Guid Id { get; set; }
  public virtual string Name { get; set; }
  public virtual int UnitsOnStock { get; set; }
  public virtual CategorySchema CategorySchema { get; set; }
}

  Step2:为两个实体映射,使用最简方式,编写代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
          assembly="DomainModel" namespace="DomainModel">
 <class name="DomainModel.Entities.CategorySchema,DomainModel">
  <id name="Id">
   <generator class="guid"/>
  </id>
  <property name="Name"/>
 </class>
 
 <class name="DomainModel.Entities.ProductSchema,DomainModel">
  <id name="Id">
   <generator class="guid"/>
  </id>
  <property name="Name"/>
  <many-to-one name="CategorySchema"
     class="DomainModel.Entities.CategorySchema,DomainModel"/>
 </class>
 
</hibernate-mapping>

  Step3:编写测试用例用于生成数据库架构:

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明