Nhibernat +CodeSmith的应用

xusui123 2010-09-29 12:18:20
需用软件:

1.NHibernate

2.Code Smith

3.NHibernate模板

4.vs2005
NHibernate模板的修改:

1.打开NHibernate.class.cst,找到如下代码:(在 #region Public Properties ...... #endregion之间 )
把所有生成 get、set 的 public 修饰符改为 public virtual

2.打开NHibernate.hbm.cst,映射由2.0改为2.2 

实例步骤:
1.数据库 nHibernate 表:Person

2.打开code Smith visdio 连接数据库:在左侧的浮动窗口schema explore -》数据源图标 -—》Add ->name(数据源名称任意取的如:"dataSK")......

3.添加NHibernate模板 ,右击NHibernate.cst -》execute
outputDirectory :为类文件和映射文件的保存地址
sourceDatabase :为自己取的数据源名称
Assembly: 为默认的数据集名称一般与namespace一致
namespace:空间名称
——》点击 Generate 则可完成类文件和映射文件(注意要将其加在项目中(类项目 项目名与空间要对应),最好不要直接加在网站上)

4.将***.hbm.xml的属性中生成的操作默认生成操作为“内容”,这里需要修改为“嵌入的资源”生成

5.添加引用:NHibernate.dll (如果是三层架构的话 添加在DAL 数据层)

6.添加引用:NHibernate.ByteCode.Castle.dll (在 表示层)(也有可能还要添加 NHibernate.ByteCode.LinFu.dll)

还要在表示层的web.config中


<?xml version="1.0"?>
<configuration>
<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.connection_string">Data Source=02B3B152B4144C5\SQLEXPRESS;Initial Catalog=NHibernate;Integrated Security=True</property>
//数据库连接语句
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<mapping assembly="Test.Model"/> //映射名字空间

</session-factory>
</hibernate-configuration>
<appSettings/>
<connectionStrings/>
</configuration>


7.数据库操作语句:(不要忘了导入名字空间 如:using NHibernate;using NHibernate.Cfg;using Test.Model;)


NHibernate.Cfg.Configuration config = new NHibernate.Cfg.Configuration().AddAssembly("Test.Model");

//通过配置对象来产生一个SessionFactory对象,这是一个Session工厂,
//那么Session是用来干什么的呢?一个Session就是由NHibernate封装
//的工作单元,我们可以近似地认为它起到ADO.Net中Connection的作用。

ISessionFactory factory = config.BuildSessionFactory();
ISession session = factory.OpenSession();

Person person = new Person();
person.Name = "Jackie Chan";

//这里,开启一个由NHibernate封装的事务,当然,在这里最终代表
//的还是一个真实的数据库事务,但是我们已经不需要再区分到底是
//一个SqlTransaction还是一个ODBCTransaction了
ITransaction trans = session.BeginTransaction();
try
{
session.Save(person);
trans.Commit();
Response.Write("Insert Success!");
}
catch (Exception ex)
{
trans.Rollback();
Response.Write(ex.Message);
}



...全文
73 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
吴青峰 2010-09-29
  • 打赏
  • 举报
回复
可以开发大型项目,请放心使用。
Teng_s2000 2010-09-29
  • 打赏
  • 举报
回复
种草德鲁伊 2010-09-29
  • 打赏
  • 举报
回复
csdnfan 2010-09-29
  • 打赏
  • 举报
回复
一个常用的开发模式。。。
q107770540 2010-09-29
  • 打赏
  • 举报
回复
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧