示例#1
0
        public void StatelessManyToOne()
        {
            using (ISession session = OpenSession())
            {
                var principal = new SpecializedPrincipal();
                var team      = new SpecializedTeamStorage();
                principal.Team = team;
                session.SaveOrUpdate(team);
                session.SaveOrUpdate(principal);
                session.Flush();
            }

            using (IStatelessSession session = Sfi.OpenStatelessSession())
            {
                IQuery            query      = session.CreateQuery("from SpecializedPrincipal p");
                IList <Principal> principals = query.List <Principal>();
                Assert.AreEqual(1, principals.Count);

                ITransaction trans = session.BeginTransaction();
                foreach (var principal in principals)
                {
                    principal.Name = "Buu";
                    session.Update(principal);
                }
                trans.Commit();
            }

            // cleanup
            using (ISession session = OpenSession())
            {
                session.Delete("from SpecializedTeamStorage");
                session.Delete("from SpecializedPrincipal");
                session.Flush();
            }
        }
示例#2
0
		public void StatelessManyToOne()
		{
			using (ISession session = OpenSession())
			{
				var principal = new SpecializedPrincipal();
				var team = new SpecializedTeamStorage();
				principal.Team = team;
				session.SaveOrUpdate(team);
				session.SaveOrUpdate(principal);
				session.Flush();
			}

			using (IStatelessSession session = sessions.OpenStatelessSession())
			{
				IQuery query = session.CreateQuery("from SpecializedPrincipal p");
				IList<Principal> principals = query.List<Principal>();
				Assert.AreEqual(1, principals.Count);

				ITransaction trans = session.BeginTransaction();
				foreach (var principal in principals)
				{
					principal.Name = "Buu";
					session.Update(principal);
				}
				trans.Commit();
			}

			// cleanup
			using (ISession session = OpenSession())
			{
				session.Delete("from SpecializedTeamStorage");
				session.Delete("from SpecializedPrincipal");
				session.Flush();
			}
		}
示例#3
0
        public async Task StatelessManyToOneAsync()
        {
            using (ISession session = OpenSession())
            {
                var principal = new SpecializedPrincipal();
                var team      = new SpecializedTeamStorage();
                principal.Team = team;
                await(session.SaveOrUpdateAsync(team));
                await(session.SaveOrUpdateAsync(principal));
                await(session.FlushAsync());
            }

            using (IStatelessSession session = Sfi.OpenStatelessSession())
            {
                IQuery            query      = session.CreateQuery("from SpecializedPrincipal p");
                IList <Principal> principals = await(query.ListAsync <Principal>());
                Assert.AreEqual(1, principals.Count);

                ITransaction trans = session.BeginTransaction();
                foreach (var principal in principals)
                {
                    principal.Name = "Buu";
                    await(session.UpdateAsync(principal));
                }
                await(trans.CommitAsync());
            }

            // cleanup
            using (ISession session = OpenSession())
            {
                await(session.DeleteAsync("from SpecializedTeamStorage"));
                await(session.DeleteAsync("from SpecializedPrincipal"));
                await(session.FlushAsync());
            }
        }