fixture.cs

来自「NHibernate NET开发者所需的」· CS 代码 · 共 70 行

CS
70
字号
using System;
using System.Collections.Generic;
using System.Text;
using log4net.Appender;
using log4net.Core;
using log4net.Repository.Hierarchy;
using NUnit.Framework;

namespace NHibernate.Test.NHSpecificTest.ListsWithHoles
{
    using System.Collections;

    [TestFixture]
    public class Fixture : TestCase
    {

        protected override IList Mappings
        {
            get { return new string[] { "NHSpecificTest.ListsWithHoles.Mappings.hbm.xml" }; }
        }

        protected override string MappingsAssembly
        {
            get { return "NHibernate.Test"; }
        }

        [Test]
        public void CanHandleHolesInList()
        {
            int parentId, firstChildId;
            using (ISession sess = OpenSession())
            using (ITransaction tx = sess.BeginTransaction())
            {
                Employee e = new Employee();
                e.Children.Add(new Employee());
                e.Children.Add(new Employee());
                sess.Save(e);
                tx.Commit();
                parentId = e.Id;
                firstChildId = e.Children[0].Id;
            }

            using (ISession sess = OpenSession())
            using (ITransaction tx = sess.BeginTransaction())
            {
                sess.Delete(sess.Get<Employee>(firstChildId));
                tx.Commit();
            }


            using (ISession sess = OpenSession())
            using (ITransaction tx = sess.BeginTransaction())
            {
                Employee employee = sess.Get<Employee>(parentId);
                employee.Children.Add(new Employee());
                tx.Commit();
            }



            using (ISession sess = OpenSession())
            using (ITransaction tx = sess.BeginTransaction())
            {
                sess.Delete("from Employee");
                tx.Commit();
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?