当前位置: 首页 > news >正文

网站结构的规划品牌画册设计

网站结构的规划,品牌画册设计,塔城网站seo,衡水建设网站使用Fluent NHibernate自动映射 使用Fluent NHibernate自动映射#xff0c;首先要将映射的实体放到一个命名空间中#xff0c;这使得通知AutoMapper哪些实体和值对象包含在映射中更容易。建议在你的项目中创建一个Domain文件夹#xff0c;将需要映射的实体和值对象放到这个文…使用Fluent NHibernate自动映射 使用Fluent NHibernate自动映射首先要将映射的实体放到一个命名空间中这使得通知AutoMapper哪些实体和值对象包含在映射中更容易。建议在你的项目中创建一个Domain文件夹将需要映射的实体和值对象放到这个文件夹中。 因为隐式映射实体和值对象需要为AutoMapping定义约定和例外。我们通过实现一个继承自DefaultAutomappingConfiguration的配置类实现。 假设我们已经将所有的实体和值对象放在了相同的命名空间中这个命名空间只包含domain类我们就可以如下面的代码定义配置类 public class OrderingSystemConfiguration : DefaultAutomappingConfiguration {public override bool ShouldMap(Type type){return type.Namespace typeof(Customer).Namespace;} } 上面的代码告诉AutoMapping只映射那些和Customer实体有相同命名空间的类。 在AutoMapper工作之前我们还需要告诉它更多的事情。我们必须告诉它在系统中谁是值对象。这可以在配置类中重写IsComponent方法实现如下面代码所示 public override bool IsComponent(Type type) {var componentTypes new[] { typeof(Name), typeof(Address) };return componentTypes.Contains(type); } 配置系统使用自动映射我们利用下面的代码 var cfg new OrderingSystemConfiguration(); var configuration Fluently.Configure().Database(/* database config */).Mappings(m m.AutoMappings.Add(AutoMap.AssemblyOfEmployee(cfg))).BuildConfiguration();   实战时间–使用自动映射 在这个例子中我们想定义一个基本的领域模型使用Fluent NHibernate提供的自动映射来映射我们的模型然后让NHibernate根据映射为我们生成数据库架构 1. 在VS中创建一个Console Application名字为AutoMappingSample。 2. 添加NHibernate.dll和FluentNHibernate两个程序集到项目中。 3. 在项目中新建一个Domain文件夹。 4. 分别添加以下类到Domain文件夹中 Customer类 namespace AutoMappingSample.Domain {public class Customer{public virtual int Id { get; set; }public virtual string CustomerName { get; set; }} } LineItem类 namespace AutoMappingSample.Domain {public class LineItem{public virtual int Id { get; set; }public virtual int Quantity { get; set; }public virtual decimal UnitPrice { get; set; }public virtual string ProductCode { get; set; }} } Order类 namespace AutoMappingSample.Domain {public class Order{public virtual int Id { get; set; }public virtual DateTime OrderDate { get; set; }public virtual Customer Customer { get; set; }public virtual IListLineItem LineItems { get; set; }} } 5. 在项目中添加一个OrderingSystemConfiguration类继承自DefaultAutomappingConfiguration。 6. 重写ShouldMap方法如下面的代码 namespace AutoMappingSample {public class OrderingSystemConfiguration : DefaultAutomappingConfiguration{public override bool ShouldMap(Type type){return type.Namespace typeof(Customer).Namespace;}} } 7. 在Program类中添加如下using语句 using FluentNHibernate.Cfg; using FluentNHibernate.Cfg.Db; using FluentNHibernate.Automapping; using AutoMappingSample.Domain; using NHibernate.Tool.hbm2ddl; 8. 添加下面的代码到Program类的Main方法创建NHibernate配置。配置对象使用Fluent NHibernate的配置API创建用于自动映射。 var cfg new OrderingSystemConfiguration(); var configuration Fluently.Configure().Database(MsSqlConfiguration.MsSql2008).Mappings(m m.AutoMappings.Add(AutoMap.AssemblyOfCustomer(cfg))).BuildConfiguration(); 注意为这个操作定义数据库字符串没有必要因为我们不访问数据库只是告诉NHibernate哪种类型的数据库。 9. 添加下面的代码创建并在控制台上显示SQL脚本 var exporter new SchemaExport(configuration); exporter.Execute(true, false, false); 10. 添加下面的代码避免程序不经确认就退出 Console.WriteLine(按回车退出:); Console.ReadLine(); 11. 运行程序控制台输出如下 使用ConfORM自动映射 ConfORM是NHibernate contributions的一部分可从http://code.google.com/p/codeconform/downloads/list下载。确保下载的版本兼容你使用的NHibernate版本。 和Fluent NHibernate的AutoMapper一样ConfORM使用约定隐式定义领域模型的映射。这些约定可以重写也可以定义我们自己的约定。 实战时间–使用ConfORM映射模型 在这个例子中我们再一次创建一个简单的领域模型并使用ConfORM为我们创建一个隐式的映射。然后我们使用NHiernate的schema exporter创建SQL脚本来创建兼容我们模型的数据库架构。 1. 打开VS创建一个Console Application项目名字为:ConfORMSample。 2. 添加对NHibernate.dll和ConfORM.dll程序集的引用到项目中。我使用的NHibernate版本是3.1的所以ConfORM也是兼容3.1的ConfORM 1.0.1.5。 3. 在项目中创建一个Domain文件夹。 4. 添加上一个例子中的Customer,Order和LineItem类到Domain文件夹。 Customer类 namespace ConfORMSample.Domain {public class Customer{public virtual int Id { get; set; }public virtual string CustomerName { get; set; }} } Order类 namespace ConfORMSample.Domain {public class Order{public virtual int Id { get; set; }public virtual DateTime OrderDate { get; set; }public virtual Customer Customer { get; set; }public virtual IListLineItem LineItems { get; set; }} } LineItem类 namespace ConfORMSample.Domain {public class LineItem{public virtual int Id { get; set; }public virtual int Quantity { get; set; }public virtual decimal UnitPrice { get; set; }public virtual string ProductCode { get; set; }} } 5. 在Program类中添加如下using语句 using ConfORMSample.Domain; using ConfOrm; using ConfOrm.NH; using NHibernate.Cfg; using NHibernate.Cfg.Loquacious; using NHibernate.Dialect; using NHibernate.Driver; using NHibernate.Tool.hbm2ddl; 6. 在Program类的Main方法中使用NHibernate提供的fluent配置API创建一个NHibernate配置对象 var configuration new Configuration(); configuration.DataBaseIntegration(db {db.DialectMsSql2008Dialect();db.DriverSqlClientDriver(); }); 7. 添加如下代码确定要映射的类型: var types typeof(Customer).Assembly.GetTypes().Where(t t.Namespace typeof(Customer).Namespace); 8. 创建一个类型为ObjectRelationalMapper的实例如下面的代码所示 var orm new ObjectRelationalMapper(); 9. 告诉映射器应该为每一个类型创建一个表如下所示 orm.TablePerClass(types); 10. 创建映射并将它们添加到配置对象如下面的代码所示 var mapper new Mapper(orm); var hbmMappings mapper.CompileMappingFor(types); configuration.AddDeserializedMapping(hbmMappings, MyDomain); 11. 创建schema生成脚本如下面的代码所示 var exporter new SchemaExport(configuration); exporter.Execute(true, false, false); 12. 同样添加下面的代码为避免程序未经确认就退出 Console.Write(按回车退出:); Console.ReadLine(); 13. 运行程序如下图所示 没用编码和少量的配置我们就使系统为我们的领域模型创建了一个隐式的映射并导出为可以创建数据库架构的脚本。生成的脚本基于定义在ConfORM中的约定。所有的这些约定都可以重写也可以根据需要添加自己的约定。 自动映射到此为止下一篇介绍XML映射。
http://www.pierceye.com/news/926462/

相关文章:

  • 重庆企业网站定制开发公司重庆城乡建设子网站
  • 网站地图怎么做html公司文化的建设对个人的意义
  • html网站模板免费下载台州网站制作 外贸
  • 有关建筑网站建设方案案例平台网站建设哪家有
  • 网站域名跳转是怎么做的空间一个数据库可以做几个网站
  • asp网站幻灯片不显示微商刚起步怎么找客源
  • 婚恋网站翻译可以做吗科技局网站建设方案
  • 长沙哪里学网站建设德阳做网站的公司
  • 制作短链接网站做抽奖网站违法吗
  • 网站备案每年审吗做网站做推广
  • 网站名称 规则个人网页模板背景
  • 网站制作方案策划简历网站建设咨询有客诚信网站建设咨询
  • 格尔木市住房和城乡建设局网站能看全景的地图软件
  • 一站式网站建设与运营wordpress后台代码修改
  • 企业品牌类网站有哪些做网站建设的公司是什么类型
  • 自己制作的网站怎么做分页2022建站市场
  • 网贷审核网站怎么做wordpress 文章列表页
  • 搬家网站建设公司西安是哪个省市
  • php 网站 整合 数据库智能建站系统个人网站
  • 福田区罗湖区宝安区龙华区seo上首页排名
  • 网站建设业务员提成企业网站 需求
  • 做淘宝客网站 首选霍常亮国外网页设计
  • 天津小型企业网站设计方案网页升级访问每天自动更新 下载
  • 好的学习网站打广告壹搜网站建设优化排名
  • 响应式设计 手机网站手机自己制作app软件
  • 东方头条网站源码杭州正晖建设工程有限公司网站
  • 阿里巴巴网站建设与维护深圳民治网站建设
  • 郑州短视频代运营seo外链是什么
  • 网站建设公司 经营资质wordpress文学
  • 手机网站建设请示常州建设网站公司哪家好