• 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();
            }

      输出:

      

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

  • 相关阅读:
    windows禅道环境搭建
    python-django开发学习笔记四
    迭代器
    小数据池
    正则表达式
    文件操作
    深浅拷贝
    隐藏文件夹命令
    python解释器安装教程以及环境变量配置
    计算机基础应用
  • 原文地址:https://www.cnblogs.com/kissdodog/p/3330913.html
Copyright © 2020-2023  润新知