zoukankan      html  css  js  c++  java
  • NHibernate 操作视图 第十三篇

      在NHibernate中,可以把视图当表一样操作,只需要记住一点就是,视图是只读的,因此映射实体的setter应该改为protected。

      新建一个视图如下:

      

      持久化类:

        public class CountryPersonModel
        {
            public virtual int PersonId { get; protected set; }
            public virtual string PersonName { get; protected set; }
            public virtual string CountryName { get; protected set; }
        }

      映射文件:

    <?xml version="1.0" encoding="utf-8" ?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
      <class name="Model.CountryPersonModel,Model" table="Country_Person_View">
        <id name="PersonId" column="PersonId" type="Int32">
          <generator  class="native"/>
        </id>
        <property name="PersonName" column="PersonName" type="String"/>
        <property name="CountryName" column="CountryName" type="String"/>
      </class>
    </hibernate-mapping>

      操作实例:

            static void Main(string[] args)
            {
                ISessionFactory sessionFactory = new Configuration().Configure().BuildSessionFactory();
                using (ISession session = sessionFactory.OpenSession())
                {
                    IList<CountryPersonModel> ListCP = session.Query<CountryPersonModel>().ToList();
                    foreach (CountryPersonModel cp in ListCP)
                    {
                        Console.WriteLine(cp.PersonId + ":" + cp.PersonName + ":" + cp.CountryName);
                    }
                }
    
                Console.ReadKey();
            }

      输出:

      

      感觉这篇文章有点多余,因为操作视图非常简单,可以当普通表一样操作。

  • 相关阅读:
    哲理故事
    ajaxToolkit发布之后出错!说未能加载文件或程序集!
    一个沉重的教训!!!
    ValidatorCallout真的是太酷了!
    GridView放在UpdatePanle里面模板列取值!
    Prototype学习笔记之-Ajax.Request
    数据分类重排!
    SQL SERVER 2005 sa登录失败!
    flex应该学到什么程度
    jquery dataTable的学习
  • 原文地址:https://www.cnblogs.com/kissdodog/p/3330913.html
Copyright © 2011-2022 走看看