亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

NHibernate示例

2019-11-15 02:30:18
字體:
來源:轉載
供稿:網友

NHibernate示例

1. 下載相關資源:

  • 下載NHibernate。下載地址: http://nhforge.org/Default.aspx

  • 下載微軟Northwind示例數據庫,下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=23654

2. 下載NHibernate后解壓縮文件,看到如下文檔結構。本示例會用到Required_Bins目錄下的文件。

  • 下載微軟Northwind,打開SQL Server 直接運行instnwnd.sql文件的腳本就可以了。

3. 打開Visual Studio 2008。新建NHibernate.Sample解決方案。

4. 在新建的解決方案下創建如下新項目:

  • NHibernate.Sample.Business 【模板:類庫】;處理業務邏輯
  • NHibernate.Sample.Data 【模板:類庫】;處理數據訪問
  • NHibernate.Sample.Lib 【模板:類庫】;存放外部資源
  • NHibernate.Sample.Model 【模板:類庫】;處理業務模型
  • NHibernate.Sample.Output 【模板:控制臺應用程序】;測試輸出

創建好以后,解決方案目錄如下:

5. NHibernate.Sample.Lib項目,用來統一存放本示例用到的所有外部資源。創建三個個文件夾,分別為Dll、Schema、DBScript;分別用來存放NHibernate相關Dll文件、Schema文件和示例用到的數據庫腳本文件。下面需要把相應的文件拷貝到對應的文件夾下?!具@一步可以做,也可以不做。一般在真實的項目都會做,方便統一管理】。

完成的NHibernate.Sample.Lib項目結構如下:

instnwnd.sql文件來自下, 載微軟Northwind示例數據庫。第一步已經提供了下載地址。Iesi.Collections.dll、NHibernate.dll、nhibernate-configuration.xsd、nhibernate-mapping.xsd四個文件都來自下載的NHibernate,Required_Bins文件目錄下。

6. NHibernate.Sample.Model項目,用來創建模型,對應于數據庫中的表。添加Customer類,添加Mapping文件夾。

  • 在Mapping文件夾下創建Customer.hbm.xml文件:

  • 創建好Customer.hbm.xml文件以后,在打開的編輯界面內,右鍵=》屬性。
  • 打開屬性管理窗口:

  • 在屬性管理窗口的架構一項,選擇架構文件。架構文件的地址,就是我們上一步已經拷貝到NHibernate.Sample.Lib項目中的nhibernate-mapping.xsd文件。添加好以后編輯Customer.hbm.xml文件,就更夠通過Visual Studio智能所用到的配置項。

  • 在解決方案管理器中找到Customer.hbm.xml文件,右鍵=》屬性

  • 把“生成操作”屬性改為:嵌入的資源。

  • 完成Customer.hbm.xml文件內容:【注意:assembly和namespace屬性】
<?xml version="1.0" encoding="utf-8" ?><hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"  assembly="NHibernate.Sample.Model" namespace="NHibernate.Sample.Model">  <class name="Customer" table="Customers" lazy="true">    <id name="CustomerID" column="CustomerID" type="string"/>    <PRoperty name="CompanyName" type="string">      <column name="CompanyName" length="40"/>    </property>    <property name="ContactName" type="string">      <column name="ContactName" length="30"/>    </property>    <property name="ContactTitle" type="string">      <column name="ContactTitle" length="30"/>    </property>    <property name="Address" type="string">      <column name="Address" length="60"/>    </property>    <property name="City" type="string">      <column name="City" length="15"/>    </property>    <property name="Region" type="string">      <column name="Region" length="15"/>    </property>    <property name="PostalCode" type="string">      <column name="PostalCode" length="10"/>    </property>    <property name="Country" type="string">      <column name="Country" length="15"/>    </property>    <property name="Phone" type="string">      <column name="Phone" length="24"/>    </property>    <property name="Fax" type="string">      <column name="Fax" length="24"/>    </property>  </class></hibernate-mapping>
  • 添加Customer.cs文件,完成Customer類:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace NHibernate.Sample.Model{    public class Customer    {        /// <summary>        ///         /// </summary>        public virtual string CustomerID { get; set; }        /// <summary>        ///         /// </summary>        public virtual string CompanyName { get; set; }        /// <summary>        ///         /// </summary>        public virtual string ContactName { get; set; }        /// <summary>        ///         /// </summary>        public virtual string ContactTitle { get; set; }        /// <summary>        ///         /// </summary>        public virtual string Address { get; set; }        /// <summary>        ///         /// </summary>        public virtual string City { get; set; }        /// <summary>        ///         /// </summary>        public virtual string Region { get; set; }        /// <summary>        ///         /// </summary>        public virtual string PostalCode { get; set; }        /// <summary>        ///         /// </summary>        public virtual string Country { get; set; }        /// <summary>        ///         /// </summary>        public virtual string Phone { get; set; }        /// <summary>        ///         /// </summary>        public virtual string Fax { get; set; }    }}
  • 創建好以后NHibernate.Sample.Model項目的目錄結構如下:

7. NHibernate.Sample.Data項目,用來數據訪問。創建文件夾Config,用來存放配置文件,創建數據訪問基類,創建數據訪問接口,創建數據訪問類。

  • 創建NHiberane的配置文件hibernate.cfg.xml:

  • 設定hibernate.cfg.xml文件的框架,在文件的編輯窗口右鍵=》屬性=》添加=》選擇Schema文件(NHibernate.Sample.Lib項目中的nhibernate-configuration.xsd文件)。

  • 完成hibernate.cfg.xml文件的內容:
<?xml version="1.0" encoding="utf-8" ?><hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">  <session-factory>    <property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>    <property name="connection.connection_string_name">Connection String</property>    <property name="connection.isolation">ReadCommitted</property>    <property name="show_sql">false</property>    <mapping assembly="NHibernate.Sample.Model"/>  </session-factory></hibernate-configuration>
  • 添加BaSEOperator.cs文件,完成BaseOperator類:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using NHibernate;using NHibernate.Cfg;namespace NHibernate.Sample.Data{    public class BaseOperator    {        private ISession m_Session;        public ISession Session        {            get { return m_Session;}        }        private ISessionFactory m_SessionFactory;        public BaseOperator()        {            var config = new Configuration().Configure("Config/hibernate.cfg.xml");            m_SessionFactory = config.BuildSessionFactory();            m_Session = m_SessionFactory.OpenSession();         }    }}
  • 添加CustomerOperator.cs文件,完成CustomerOperator類:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using NHibernate.Linq;using NHibernate.Sample.Model;namespace NHibernate.Sample.Data{    public class CustomerOperator : BaseOperator    {        public object Save(Customer customer)        {            var id = Session.Save(customer);            Session.Flush();                retur
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲 日韩 国产第一| 最新国产精品拍自在线播放| 992tv成人免费影院| 成人写真视频福利网| 国产精品99一区| 久久99久久久久久久噜噜| 久久九九热免费视频| 久久99久久久久久久噜噜| 国产精品视频午夜| 国内精品久久久久久久久| 欧美精品久久一区二区| 91av在线不卡| 高潮白浆女日韩av免费看| 青青草成人在线| 国产亚洲精品一区二555| 亚洲aa在线观看| 亚洲日本中文字幕免费在线不卡| 2023亚洲男人天堂| 91免费看国产| 欧美精品18videosex性欧美| 久久久久久久久久婷婷| 日韩在线免费视频观看| 国产精品69久久| 日韩欧美在线第一页| 亚洲国产天堂久久综合网| 最近中文字幕2019免费| 国产欧美日韩免费| 欧美超级免费视 在线| 久久久久免费精品国产| 成人h视频在线观看播放| 最近2019中文免费高清视频观看www99| 久久综合久久88| 国产精品黄色影片导航在线观看| 国产精品91久久| 国产精品爱啪在线线免费观看| 奇米四色中文综合久久| 精品久久久久久中文字幕一区奶水| www.亚洲免费视频| 国产精品福利网| 亚洲影院高清在线| 国产精品最新在线观看| 国产不卡视频在线| 国产精品欧美激情| 欧美一区二区大胆人体摄影专业网站| 国产成+人+综合+亚洲欧美丁香花| 欧美日韩福利电影| 亚洲欧洲在线免费| 色综合老司机第九色激情| 亚洲视频精品在线| 成人性教育视频在线观看| 精品久久久香蕉免费精品视频| 国产精品日本精品| 亚洲欧美日韩一区二区在线| 久久精品视频中文字幕| 92裸体在线视频网站| 欧美美最猛性xxxxxx| 成人亚洲综合色就1024| 国产精品v片在线观看不卡| 精品久久久一区| 97在线视频免费看| 欧美日韩国产中文精品字幕自在自线| 日韩在线不卡视频| 中文字幕精品一区久久久久| 国产福利精品视频| 欧美在线国产精品| 国产精品亚洲美女av网站| 亚洲成人国产精品| 日本国产欧美一区二区三区| 午夜精品久久久久久久白皮肤| 国产主播在线一区| www.欧美免费| 成人网欧美在线视频| 亚洲成人网久久久| 亚洲电影免费观看高清完整版在线| 亚洲第一天堂av| 欧美黑人巨大xxx极品| 国产精品情侣自拍| 岛国av一区二区三区| 欧美精品18videos性欧| 97超碰蝌蚪网人人做人人爽| 日韩欧美大尺度| 国产欧美日韩丝袜精品一区| 97国产真实伦对白精彩视频8| 中文字幕亚洲综合久久筱田步美| 亚洲一区www| 欧美精品在线免费| 国产精品对白刺激| 国产91精品不卡视频| 日韩精品在线视频美女| 国产97在线视频| 51ⅴ精品国产91久久久久久| 欧美大片在线看| 亚洲欧美另类国产| 色综合久综合久久综合久鬼88| 欧美亚州一区二区三区| 日韩在线视频网| 亚洲成人在线视频播放| 亚洲人成电影网站| 国产欧美精品一区二区三区介绍| 高清在线视频日韩欧美| 精品国产一区二区三区久久| 国产一区二区三区中文| zzijzzij亚洲日本成熟少妇| 国产精品视频999| 亚洲裸体xxxx| 国产成人一区二| 欧洲s码亚洲m码精品一区| 俺去啦;欧美日韩| 国内成人精品视频| 国产91精品不卡视频| 国产午夜精品免费一区二区三区| 国产手机视频精品| 久久99国产精品自在自在app| 91av在线视频观看| 久久久久久久久久久久久久久久久久av| 98精品国产高清在线xxxx天堂| 亚洲精品一区久久久久久| 日韩中文字幕在线观看| 国产日韩在线亚洲字幕中文| 中文字幕自拍vr一区二区三区| 久久精视频免费在线久久完整在线看| 欧美视频精品一区| 国产一区二区在线免费视频| 日韩欧美国产中文字幕| 国产欧美日韩综合精品| 亚洲欧美成人精品| 国产日产久久高清欧美一区| 欧美性感美女h网站在线观看免费| 国产99久久精品一区二区永久免费| 伊人久久大香线蕉av一区二区| 欧美xxxx综合视频| 欧美与欧洲交xxxx免费观看| 亚洲国产精品网站| 热久久免费国产视频| 亚洲视频综合网| 亚洲男人av在线| 欧美福利小视频| 亚洲人成网在线播放| 美女av一区二区三区| 亚洲最大av网| 日韩最新免费不卡| 欧美电影电视剧在线观看| 亚洲精品国产成人| 日韩精品在线免费播放| 亚洲欧美日韩直播| 亚洲第一视频在线观看| www.日韩不卡电影av| 久久久99免费视频| 亚洲综合大片69999| 日韩av色综合| 成人免费大片黄在线播放| 国产精品视频男人的天堂| 午夜精品久久久久久久99热浪潮| 麻豆国产精品va在线观看不卡| 亚洲色图第三页| 久久99久久久久久久噜噜| 欧美性视频在线| 成人在线视频网| 欧美激情按摩在线| 亚洲成人久久久久| 久久国产精品99国产精| 久久精品久久久久电影| 久久香蕉国产线看观看网| 久久久久久亚洲精品中文字幕|