nh958fixture.cs
来自「NHibernate NET开发者所需的」· CS 代码 · 共 80 行
CS
80 行
using System;
using NHibernate;
using NUnit.Framework;
namespace NHibernate.Test.NHSpecificTest.NH958
{
[TestFixture]
public class NH958Fixture : BugTestCase
{
[Test]
public void SaveOrUpdateCopyWithAny1()
{
Person person;
using (ISession session = OpenSession())
using (ITransaction transaction = session.BeginTransaction())
{
person = new Male("Test");
for (int i = 0; i < 10; i++)
{
person.AddHobby(new Hobby("Hobby_" + i.ToString()));
}
session.SaveOrUpdate(person);
transaction.Commit();
}
person.Hobbies.Clear();
using (ISession session = OpenSession())
using (ITransaction transaction = session.BeginTransaction())
{
person = (Person) session.SaveOrUpdateCopy(person);
transaction.Commit();
}
using (ISession session = OpenSession())
using (ITransaction transaction = session.BeginTransaction())
{
session.Delete(person);
transaction.Commit();
}
}
[Test]
public void SaveOrUpdateCopyWithAny2()
{
Person person;
using (ISession session = OpenSession())
using (ITransaction transaction = session.BeginTransaction())
{
person = new Male("Test");
session.Save(person);
transaction.Commit();
}
person.AddHobby(new Hobby("Hobby_1"));
person.AddHobby(new Hobby("Hobby_2"));
using (ISession session = OpenSession())
using (ITransaction transaction = session.BeginTransaction())
{
// the transient hobby "test" is inserted and updated
person = (Person)session.SaveOrUpdateCopy(person);
transaction.Commit();
}
using (ISession session = OpenSession())
using (ITransaction transaction = session.BeginTransaction())
{
session.Delete(person);
transaction.Commit();
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?