NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner

我一直希望NHibernate能够支持像EF一样支持可视化操作,今天去网上搜了一下,发现有一个插件,类似EF的可视化功能。

下载地址:Mindscape.NHibernateModelDesigner_crack.vsix

下载后,运行Mindscape.NHibernateModelDesigner_crack.vsix,进行安装,安装完成之后,在新建项目的时候,就会发现多了如下模版:

 NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第1张图片NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第2张图片NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第3张图片NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第4张图片NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第5张图片NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第6张图片

用过EF的朋友应该很熟悉,这个界面就跟EF的可视化界面非常相似了。

打开服务器资源管理器,然后连接到Northwind数据库

 NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第7张图片

拖放之后,将会自动生成如下类

 NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第8张图片

我们来看下这个生成的类的源码

using System;
using System.Collections.Generic;
using NHibernate.Cfg;
using NHibernate.Validator.Constraints;

namespace Shop.Domain
{
  [System.CodeDom.Compiler.GeneratedCode("NHibernateModelGenerator", "1.0.0.0")]
  public partial class Customer
  {
    [NotNull]
    [Length(Max=5)]
    public virtual string CustomerId { get; set; }
    [NotNull]
    [Length(Max=40)]
    public virtual string CompanyName { get; set; }
    [Length(Max=30)]
    public virtual string ContactName { get; set; }
    [Length(Max=30)]
    public virtual string ContactTitle { get; set; }
    [Length(Max=60)]
    public virtual string Address { get; set; }
    [Length(Max=15)]
    public virtual string City { get; set; }
    [Length(Max=15)]
    public virtual string Region { get; set; }
    [Length(Max=10)]
    public virtual string PostalCode { get; set; }
    [Length(Max=15)]
    public virtual string Country { get; set; }
    [Length(Max=24)]
    public virtual string Phone { get; set; }
    [Length(Max=24)]
    public virtual string Fax { get; set; }

    private IList _orders = new List();

    public virtual IList Orders
    {
      get { return _orders; }
      set { _orders = value; }
    }

    static partial void CustomizeMappingDocument(System.Xml.Linq.XDocument mappingDocument);

    internal static System.Xml.Linq.XDocument MappingXml
    {
      get
      {
        var mappingDocument = System.Xml.Linq.XDocument.Parse(@"

  
    
      
      
    
    
    
    
    
    
    
    
    
    
    
    
      
      
    
  
");
        CustomizeMappingDocument(mappingDocument);
        return mappingDocument;
      }
    }
  }
}
View Code

这个类当中包含了生成的model类和xml映射文件

 NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第9张图片NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第10张图片NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第11张图片NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner_第12张图片

 这里我只是简单的介绍存在这样一个插件,这个差件自动生成了我们需要的映射类和配置文件,以及数据库配置文件,以及NHibenate辅助类,有了这些东西,我们就可以很方便的进行开发了,只要Ctrl+C,Ctrl+V。具体的使用方法,大家可以去参考上一篇:Hibernate学习笔记—使用 NHibernate构建一个ASP.NET MVC应用程序

你可能感兴趣的:(NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner)