Skip to content

Instantly share code, notes, and snippets.

@damianh
Created August 24, 2011 20:07
Show Gist options
  • Save damianh/1169056 to your computer and use it in GitHub Desktop.
Save damianh/1169056 to your computer and use it in GitHub Desktop.
NHibernateTransactionTest
public class NHibernateTransactionTest
{
[Fact]
public void NHibernateSave_ShouldNotThrow()
{
var sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration
.MsSql2008
.ConnectionString(c => c
.Server("localhost")
.Database("ConcurrencyTest")
.TrustedConnection()))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<NHibernateTransactionTest>())
.BuildSessionFactory();
DoStore(sessionFactory);
DoStore(sessionFactory);
sessionFactory.Dispose();
}
private static void DoStore(ISessionFactory sessionFactory)
{
using (new TransactionScope())
using (var session = sessionFactory.OpenSession())
{
var entity = new Entity { Id = "Test" };
session.Save(entity);
}
}
public class Entity
{
public virtual string Id { get; set; }
}
public class EntityMap : ClassMap<Entity>
{
public EntityMap()
{
Table("Entities");
Id(x => x.Id).Length(50);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment