nhibernateCodeSmith中自带的NHibernate模板怎样用啊

nhibernate  时间:2021-07-22  阅读:()

NHibernate有哪些对象?

SessionFactory (NHibernate.ISessionFactory) 对属于单一数据库的编译过的映射文件的一个线程安全的,不可变的缓存快照。

它是Session的工厂,是ConnectionProvider的客户。

可以持有一个可选的(第二级)数据缓存,可以在进程级别或集群级别保存可以在事物中重用的数据。

会话,Session (NHibernate.ISession) 单线程,生命期短促的对象,代表应用程序和持久化层之间的一次对话。

封装了一个ADO.NET连接。

也是Transaction的工厂。

保存有必需的(第一级)持久化对象的缓存,用于遍历对象图,或者通过标识符查找对象。

持久化对象(Persistent)及其集合(Collections) 生命期短促的单线程的对象,包含了持久化状态和商业功能。

它们可能是普通的对象,唯一特别的是他们现在从属于且仅从属于一个Session。

一旦Session被关闭,他们都将从Session中取消联系,可以在任何程序层自由使用(比如,直接作为传送到表现层的DTO,数据传输对象)。

临时对象(Transient Object)及其集合(Collection) 目前没有从属于一个Session的持久化类的实例。

他们可能是刚刚被程序实例化,还没有来得及被持久化,或者是被一个已经关闭的Session所实例化的。

事务Transaction (NHibernate.ITransaction) (可选) 单线程,生命期短促的对象,应用程序用它来表示一批工作的原子操作。

是底层的ADO.NET事务的抽象。

一个Session某些情况下可能跨越多个Transaction 事务。

ConnectionProvider (NHibernate.Connection.ConnectionProvider) (可选)ADO.NET连接的工厂。

从底层的IDbConnection抽象而来。

对应用程序不可见,但可以被开发者扩展/实现。

TransactionFactory .sf.hibernate.TransactionFactory) (可选)事务实例的工厂。

对应用程序不可见,但可以被开发者扩展/实现。

在上面的轻型结构中,程序没有使用Transaction / TransactionFactory 或者ConnectionProvider API,直接和ADO.NET对话了。

NHibernate配置文件写法

NHibernate的联合主键 <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"> <class name="ounts.Data.JJDepartments,ounts.Data" table="PersonManager_JJDepartments"> &posite-id> <key-property name="ID" column="ID" type="String" length="2" /> <key-property name="MainJJDepartmentID" column="MainJJDepartmentID" type="String" length="2" /> <posite-id> <property name="Name" column="Name" type="String" length="40"></property> <property name="SimpleName" column="SimpleName" type="String" length="6"></property> <property name="Description" column="Description" type="String" length="50"></property> </class> </hibernate-mapping> 基本写法 <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"> <class name="NHibernate.Examples.QuickStart.User, NHibernate.Examples" table="users"> <id name="Id" column="LogonId" type="String" length="20"> <generator class="assigned" /> </id> <property name="UserName" column= "Name" type="String" length="40"/> <property name="Password" type="String" length="20"/> <property name="EmailAddress" type="String" length="40"/> <property name="LastLogon" type="DateTime"/> </class> </hibernate-mapping>

CodeSmith中自带的NHibernate模板怎样用啊

一、用CodeSmith自带模版生成实体类 选中模版(businessobject.cst),右键执行(Execute),然后选择保存目录、数据库、表,最后生成(Generate)。

1、新建一个C#模版,导包<%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %>//声明SourceTable<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Default="" Optional="False" Category="Context" Description="源表" %>2、设置SourceTable先执行Tools-Build然后在属性杂项一栏中设置SourceTable选择数据库,再选择表。

3、写封装类namespace Train%> <%foreach(ColumnSchema column in this.SourceTable.Columns)%> <% set } <%}%> } }4、执行Tools-Run 保存补充:添加数据库方法在左边SchemaExplorer中选第二项ADD添加Name:TrainProviderType:sqlSchemaProviderConnectionString:server=.;database=Train;uid=sa;pwd="1234"; 這不必要圖 如果你還看不懂、、、、 关于CodeSmith中自带的NHibernate模板怎样用啊这个问题~你上搜搜问问真是正确的选择~ 败笔网络安全小组中秋开放3天注册! 【公告】庆中秋,送极品源码+软件 大型踢楼活动! 参考地址: /thread-8844-1-1.html 这次踢楼送的软件都是价值最少于500-3000升至上几万的软件和源码 这次送出来的东西列表: 抓鸡软件套装 (败笔T楼奖励) 免杀远控(一个月)(败笔T楼奖励) 无壳DDOS (网络僵尸最早版本) (败笔T楼奖励) 免杀捆绑器 (败笔T楼奖励) 传还原下载者(K杀软) (败笔T楼奖励) DDOS网络生成源码+锁定下载地址 (败笔T楼奖励) 驱动的DDOS攻击软件(稳定+防肉鸡掉线)(败笔T楼奖励) 此次活动礼品都是市面价值连城的东西 活动奖品均可用拜金币兑换 比例晚上8点踢楼活动贴出来 请各大会员敬请关注

IMIDC日本多IP服务器$88/月起,E3-123x/16GB/512G SSD/30M带宽

IMIDC是一家香港本土运营商,商家名为彩虹数据(Rainbow Cloud),全线产品自营,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非等地机房,CN2网络直连到中国大陆。目前主机商针对日本独立服务器做促销活动,而且提供/28 IPv4,国内直连带宽优惠后每月仅88美元起。JP Multiple IP Customize...

HostRound:美国达拉斯/洛杉矶/纽约/荷兰大硬盘服务器,1TB NVMe+4TB HDD,$179/月

hostround怎么样?大硬盘服务器,高防服务器。hostround,美国商家,2017年成立,正规注册公司(Company File #6180543),提供虚拟主机、VPS云主机、美国服务器、荷兰服务器租用等。现在有1款特价大硬盘独服,位于达拉斯,配置还不错,本月订购时包括免费 500Gbps DDoS 保护,有兴趣的可以关注一下。点击直达:hostround官方网站地址美国\荷兰独立服务器...

Hosteons - 限时洛杉矶/达拉斯/纽约 免费升级至10G带宽 低至年$21

Hosteons,一家海外主机商成立于2018年,在之前还没有介绍和接触这个主机商,今天是有在LEB上看到有官方发送的活动主要是针对LEB的用户提供的洛杉矶、达拉斯和纽约三个机房的方案,最低年付21美元,其特点主要在于可以从1G带宽升级至10G,而且是免费的,是不是很吸引人?本来这次活动是仅仅在LEB留言提交账单ID才可以,这个感觉有点麻烦。不过看到老龚同学有拿到识别优惠码,于是就一并来分享给有需...

nhibernate为你推荐
软件开发的周期软件项目周期是什么微软将停止支持32位Win10系统win10 64位怎么兼容32位bt4破解教程怎么破解无线网络密码:WPA/WPA2 PSK,最好有软件,教程,破了加分!!呼叫中心搭建呼叫中心怎么建设百度创业史百度成立的历史dnf客户端消失DNF客户端突然消失魔兽世界密保卡魔兽世界的密保卡怎么申请硅谷动力网站怎样制作网页?pps电影PPS上最近有什么电影值得观看pps电影pps电影下载 pps影音下载 pps最新版下载
免费linux主机 动态ip的vps 免费域名申请 阿里云os bluevm pw域名 gitcafe 英语简历模板word anylink php空间推荐 徐正曦 河南移动网 美国网站服务器 智能dns解析 游戏服务器出租 华为云建站 atom处理器 国外免费云空间 服务器硬件配置 网站防护 更多