I have a one-to-one relationship that I'm trying to persist to the database and get an ADO.Net error "NHibernate.AdoNet.TooManyRowsAffectedException: Unexpected row count: 2; expected: 1". In my log4net log, i can see 2 inserts for the one-to-one mapped table. I just can't figure out what I'm doing to cause 2 insert statements.
I have a user table that uses an identity PK. This references the PK of the Profile table. For brevity, I left off all the extra properties on these classes. Classes and configuration are as follows:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="DomainModel.Users"
assembly="DomainModel" default-lazy="false" >
<class name="User" table="CLSYS_User" lazy="false">
<id name="UserID"
column="UserID" type="Int64">
<generator class="identity" />
</id>
<property name="UserName" type="String" length="40" column="UserName"
not-null="true" />
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="DomainModel.Users"
assembly="DomainModel" default-lazy="false" >
<class name="Profile" table="PRO_Profile" lazy="false">
<id name="ProfileID"
column="UserID" type="Int64">
<generator class="foreign">
<param name="property">User</param>
</generator>
</id>
<one-to-one name="User" class="User" constrained="true" cascade="all"/>
<property name="FirstName" type="String" column="FirstName" length="50" not-null="false" />
<property name="MiddleName" type="String" column="MiddleName" length="50" not-null="false" />
<property name="LastName" type="String" column="LastName" length="40" not-null="false" />
</class>
</hibernate-mapping>
[Serializable()]
public class User
{
//USER
private Int64 _UserID;
private string _UserName;
private Profile _Profile;
#region USER PROPERTIES
public Int64 UserID
{
get { return _UserID; }
set { _UserID = value; }
}
public virtual string UserName
{
get { return _UserName; }
set { _UserName = value; }
}
public virtual Profile Profile
{
get { return _Profile;}
set { _Profile= value; }
}
#endregion
}
[Serializable()]
public class Profile
{
#region " Private Members "
private Int64? _ProfileID;
private User _User;
private string _FirstName;
private string _MiddleName;
private string _LastName;
#endregion
#region " Public Properties "
public Int64? ProfileID
{
get { return _ProfileID ; }
set { _ProfileID = value; }
}
public User User
{
get { return _User; }
set { _User = value; }
}
public string FirstName
{
get { return _FirstName; }
set { _FirstName = value; }
}
public string MiddleName
{
get { return _MiddleName; }
set { _MiddleName = value; }
}
public string LastName
{
get { return _LastName; }
set { _LastName = value; }
}
#endregion
}
The actual code I call to save this is as follows:
User newUser = new User();
newUser.Profile = new Profile();
newUser.Profile.User = newUser;
newUser.UserName="test";
newUser.Profile.FirstName = "testname";
HibernateTemplate.Save(newUser);
HibernateTemplate.Flush();
Here's the full stack trace:
NHibernate.AdoNet.TooManyRowsAffectedException: Unexpected row count: 2; expected: 1
at NHibernate.AdoNet.Expectations.BasicExpectation.VerifyOutcomeNonBatched(Int32 rowCount, IDbCommand statement)
at NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
at NHibernate.Impl.ScheduledInsertion.Execute()
at NHibernate.Impl.SessionImpl.Execute(IExecutable executable)
at NHibernate.Impl.SessionImpl.ExecuteAll(IList list)
at NHibernate.Impl.SessionImpl.Execute()
at NHibernate.Impl.SessionImpl.Flush()
at Spring.Data.NHibernate.HibernateTemplate.FlushAction(ISession session) in l:\projects\Spring.Net\src\Spring\Spring.Data.NHibernate\Data\NHibernate\HibernateTemplate.cs:line 470
at Spring.Data.NHibernate.ExecuteHibernateCallbackUsingDelegate.DoInHibernate(ISession session) in l:\projects\Spring.Net\src\Spring\Spring.Data.NHibernate\Data\NHibernate\HibernateTemplate.cs:line 1811
at Spring.Data.NHibernate.HibernateTemplate.Execute(IHibernateCallback action, Boolean exposeNativeSession) in l:\projects\Spring.Net\src\Spring\Spring.Data.NHibernate\Data\NHibernate\HibernateTemplate.cs:line 913
And finally the output from log4net is below. It's trying to insert 2 records into the profile table, even though there should only be one inserted. I've looked through other forum posts and found examples of one-to-one, but I'm following those examples. What is going on with my save that i'm missing?
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - flushing session
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - processing cascades for: DomainModel.Users.User
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - cascading to SaveOrUpdate()
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - SaveOrUpdate() unsaved instance
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - object already associated with session
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - generated identifier: 219153
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - saving [DomainModel.Users.Profile#219153]
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - processing cascades for: DomainModel.Users.Profile
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - cascading to SaveOrUpdate()
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - SaveOrUpdate() persistent instance
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - done processing cascades for: DomainModel.Users.Profile
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - processing cascades for: DomainModel.Users.Profile
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - done processing cascades for: DomainModel.Users.Profile
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - cascading to collection: DomainModel.Users.User.Preferences
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - cascading to SaveOrUpdate()
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - SaveOrUpdate() persistent instance
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - cascading to SaveOrUpdate()
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - SaveOrUpdate() persistent instance
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - cascading to collection: DomainModel.Users.User.ContactPreferences
10:59:10 [1] DEBUG NHibernate.Engine.Cascades - done processing cascades for: DomainModel.Users.User
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - Flushing entities and processing referenced collections
10:59:10 [1] DEBUG NHibernate.Impl.AbstractVisitor - Processing collection for role DomainModel.Users.User.Preferences
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - Collection found: [DomainModel.Users.User.Preferences#219153], was: [<unreferenced>]
10:59:10 [1] DEBUG NHibernate.Impl.AbstractVisitor - Processing collection for role DomainModel.Users.User.ContactPreferences
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - Collection found: [DomainModel.Users.User.ContactPreferences#219153], was: [<unreferenced>]
10:59:10 [1] DEBUG NHibernate.Impl.AbstractVisitor - Processing collection for role DomainModel.Users.Profile.ProfileRoles
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - Processing unreferenced collections
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - scheduling collection removes/(re)creates/updates
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - Flushed: 1 insertions, 0 updates, 0 deletions to 6 objects
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - Flushed: 2 (re)creations, 0 updates, 0 removals to 2 collections
10:59:10 [1] DEBUG NHibernate.Impl.Printer - listing entities:
10:59:10 [1] DEBUG NHibernate.Impl.Printer - DomainModel.Users.Profile{Ethnicity=, WorkPhoneNumber=null, ShoeSize=null, Phone3=null, Phone1=null, Address2=null, StateName=null, Weight=0, WebSiteURL=null, ProfileID=219153, AreasOfExpertise=, IndustryOther=null, ProfileImgXtraLargeUrl=localhost/mysite/images/generic_280x350.gif, ProfileImageID=null, IsContestant=False, HighlightedType=0, ConcurrentExclusiveCastings=0, HeightFeet=0, HeightInches=0, ProfileImgLargeUrl=localhost/mysite/images/generic_200x250.gif, ProfileRoles=null, IsSagMember=False, IsFeatured=False, LastName=asdfjjAdjdjh33a, FullResumeBio=, UpdateDate=7/20/2008, IsAftraMember=False, ProfileImgXtraSmallUrl=localhost/mysite/images/generic_40x50.gif, ProfileVideoSourceID=null, AllTimeVoteCount=0, MiddleName=, CreateDate=7/20/2008, IndustryCompanyName=null, Phone2=null, FirstName=asd3ffdsa33Aaa, PantsSize=null, BriefDescription=, CellPhoneNumber=null, DressSize=null, CountryCode=null, ZipCode=null, HomePhoneNumber=null, EyeColor=, HairColor=, Address1=null, ProfileURL=null, City=null, Gender=, ProfileImgSmallUrl=localhost/mysite/images/generic_80x100.gif, DisplayLevel=1, IndustryTitle=null, CountryName=null, SvcProviderCompanyName=null, EmailAddress=jdashd332ahaaasah@ahdsahdhd.com, PrivacyLevel=0, ConcurrentCastings=1, DailyVoteCount=0, BirthDate=null, Views=0, SvcProviderTitle=null, ProfileVideoID=null, User=User#219153, StateCode=null}
10:59:10 [1] DEBUG NHibernate.Impl.Printer - DomainModel.Users.UserPreference{Preference=Preference#2, Value=50, UserPreferenceID=89494}
10:59:10 [1] DEBUG NHibernate.Impl.Printer - DomainModel.Users.UserPreference{Preference=Preference#1, Value=1, UserPreferenceID=89493}
10:59:10 [1] DEBUG NHibernate.Impl.Printer - DomainModel.Users.User{ContactPreferences=[], UserID=219153, Preferences=[UserPreference#89493, UserPreference#89494], Status=80, Profile=Profile#219153, AdminNotes=null, UserGUID=c9d01e00-199f-4953-a857-2d3a9a79607a, LastLoginIPAddress=127.0.0.1, LastLoginDate=7/20/2008, CanPostComments=True, DoNotEmail=False, UpdateDate=7/20/2008, CreateDate=7/20/2008, UserName=33AADSADSD2, SignupIPAddress=127.0.0.1, Passwd=IGUANA}
10:59:10 [1] DEBUG NHibernate.Impl.Printer - DomainModel.Reference.Preference{PreferenceName=COMMENTS_PER_DAY, PreferenceID=2, DefaultValue=50, IsActive=True, CreateWithNewUser=True}
10:59:10 [1] DEBUG NHibernate.Impl.Printer - DomainModel.Reference.Preference{PreferenceName=COMMENT_APPROVAL_METHOD, PreferenceID=1, DefaultValue=1, IsActive=True, CreateWithNewUser=True}
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - executing flush
10:59:10 [1] DEBUG NHibernate.Impl.ConnectionManager - registering flush begin
10:59:10 [1] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister - Inserting entity: [DomainModel.Users.Profile#219153]
10:59:10 [1] DEBUG NHibernate.Impl.BatcherImpl - Opened new IDbCommand, open IDbCommands: 1
10:59:10 [1] DEBUG NHibernate.Impl.BatcherImpl - Building an IDbCommand object for the SqlString: INSERT INTO hw_dev.dbo.PRO_Profile (FirstName, MiddleName, LastName, EmailAddress, CellPhoneNumber, HomePhoneNumber, WorkPhoneNumber, Address1, Address2, City, StateCode, StateName, CountryCode, CountryName, ZipCode, ProfileURL, ProfileImageID, Gender, BirthDate, EyeColor, HairColor, Weight, FullResumeBio, BriefDescription, PrivacyLevel, ProfileImgXtraSmallUrl, ProfileImgSmallUrl, ProfileImgLargeUrl, ProfileImgXtraLargeUrl, HeightFeet, HeightInches, Ethnicity, ProfileVideoID, ProfileVideoSourceID, IsContestant, IsFeatured, AllTimeVoteCount, DailyVoteCount, HighlightedType, ConcurrentCastings, ConcurrentExclusiveCastings, DisplayLevel, PantsSize, DressSize, ShoeSize, WebSiteURL, AreasOfExpertise, IsSagMember, IsAftraMember, Phone1, Phone2, Phone3, Views, SvcProviderCompanyName, SvcProviderTitle, IndustryCompanyName, IndustryTitle, IndustryOther, CreateDate, UpdateDate, UserID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
10:59:10 [1] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister - Dehydrating entity: [DomainModel.Users.Profile#219153]
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding 'asd3ffdsa33Aaa' to parameter: 0
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding '' to parameter: 1
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding 'asdfjjAdjdjh33a' to parameter: 2
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding
'jdashd332ahaaasah@ahdsahdhd.com' to parameter: 3
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 4
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 5
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 6
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 7
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 8
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 9
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 10
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 11
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 12
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 13
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 14
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 15
10:59:10 [1] DEBUG NHibernate.Type.Int64Type - binding null to parameter: 16
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding '' to parameter: 17
10:59:10 [1] DEBUG NHibernate.Type.DateTimeType - binding null to parameter: 18
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding '' to parameter: 19
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding '' to parameter: 20
10:59:10 [1] DEBUG NHibernate.Type.DoubleType - binding '0' to parameter: 21
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding '' to parameter: 22
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding '' to parameter: 23
10:59:10 [1] DEBUG NHibernate.Type.PersistentEnumType - binding '0' to parameter: 24
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding 'localhost/mysite/images/generic_40x50.gif' to parameter: 25
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding 'localhost/mysite/images/generic_80x100.gif' to parameter: 26
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding 'localhost/mysite/images/generic_200x250.gif' to parameter: 27
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding 'localhost/mysite/images/generic_280x350.gif' to parameter: 28
10:59:10 [1] DEBUG NHibernate.Type.DoubleType - binding '0' to parameter: 29
10:59:10 [1] DEBUG NHibernate.Type.DoubleType - binding '0' to parameter: 30
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding '' to parameter: 31
10:59:10 [1] DEBUG NHibernate.Type.Int64Type - binding null to parameter: 32
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 33
10:59:10 [1] DEBUG NHibernate.Type.BooleanType - binding 'False' to parameter: 34
10:59:10 [1] DEBUG NHibernate.Type.BooleanType - binding 'False' to parameter: 35
10:59:10 [1] DEBUG NHibernate.Type.Int64Type - binding '0' to parameter: 36
10:59:10 [1] DEBUG NHibernate.Type.Int64Type - binding '0' to parameter: 37
10:59:10 [1] DEBUG NHibernate.Type.PersistentEnumType - binding '0' to parameter: 38
10:59:10 [1] DEBUG NHibernate.Type.Int64Type - binding '1' to parameter: 39
10:59:10 [1] DEBUG NHibernate.Type.Int64Type - binding '0' to parameter: 40
10:59:10 [1] DEBUG NHibernate.Type.PersistentEnumType - binding '1' to parameter: 41
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 42
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 43
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 44
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 45
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding '' to parameter: 46
10:59:10 [1] DEBUG NHibernate.Type.BooleanType - binding 'False' to parameter: 47
10:59:10 [1] DEBUG NHibernate.Type.BooleanType - binding 'False' to parameter: 48
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 49
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 50
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 51
10:59:10 [1] DEBUG NHibernate.Type.Int64Type - binding '0' to parameter: 52
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 53
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 54
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 55
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 56
10:59:10 [1] DEBUG NHibernate.Type.StringType - binding null to parameter: 57
10:59:10 [1] DEBUG NHibernate.Type.DateTimeType - binding '7/20/2008' to parameter: 58
10:59:10 [1] DEBUG NHibernate.Type.DateTimeType - binding '7/20/2008' to parameter: 59
10:59:10 [1] DEBUG NHibernate.Type.Int64Type - binding '219153' to parameter: 60
10:59:10 [1] DEBUG NHibernate.SQL - INSERT INTO hw_dev.dbo.PRO_Profile (FirstName, MiddleName, LastName, EmailAddress, CellPhoneNumber, HomePhoneNumber, WorkPhoneNumber, Address1, Address2, City, StateCode, StateName, CountryCode, CountryName, ZipCode, ProfileURL, ProfileImageID, Gender, BirthDate, EyeColor, HairColor, Weight, FullResumeBio, BriefDescription, PrivacyLevel, ProfileImgXtraSmallUrl, ProfileImgSmallUrl, ProfileImgLargeUrl, ProfileImgXtraLargeUrl, HeightFeet, HeightInches, Ethnicity, ProfileVideoID, ProfileVideoSourceID, IsContestant, IsFeatured, AllTimeVoteCount, DailyVoteCount, HighlightedType, ConcurrentCastings, ConcurrentExclusiveCastings, DisplayLevel, PantsSize, DressSize, ShoeSize, WebSiteURL, AreasOfExpertise, IsSagMember, IsAftraMember, Phone1, Phone2, Phone3, Views, SvcProviderCompanyName, SvcProviderTitle, IndustryCompanyName, IndustryTitle, IndustryOther, CreateDate, UpdateDate, UserID) VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12, @p13, @p14, @p15, @p16, @p17, @p18, @p19, @p20, @p21, @p22, @p23, @p24, @p25, @p26, @p27, @p28, @p29, @p30, @p31, @p32, @p33, @p34, @p35, @p36, @p37, @p38, @p39, @p40, @p41, @p42, @p43, @p44, @p45, @p46, @p47, @p48, @p49, @p50, @p51, @p52, @p53, @p54, @p55, @p56, @p57, @p58, @p59, @p60); @p0 = 'asd3ffdsa33Aaa', @p1 = '', @p2 = 'asdfjjAdjdjh33a', @p3 =
'jdashd332ahaaasah@ahdsahdhd.com', @p4 = '', @p5 = '', @p6 = '', @p7 = '', @p8 = '', @p9 = '', @p10 = '', @p11 = '', @p12 = '', @p13 = '', @p14 = '', @p15 = '', @p16 = '', @p17 = '', @p18 = '', @p19 = '', @p20 = '', @p21 = '0', @p22 = '', @p23 = '', @p24 = 'AllHidden', @p25 = 'localhost/mysite/images/generic_40x50.gif', @p26 = 'localhost/mysite/images/generic_80x100.gif', @p27 = 'localhost/mysite/images/generic_200x250.gif', @p28 = 'localhost/mysite/images/generic_280x350.gif', @p29 = '0', @p30 = '0', @p31 = '', @p32 = '', @p33 = '', @p34 = 'False', @p35 = 'False', @p36 = '0', @p37 = '0', @p38 = 'None', @p39 = '1', @p40 = '0', @p41 = 'Basic', @p42 = '', @p43 = '', @p44 = '', @p45 = '', @p46 = '', @p47 = 'False', @p48 = 'False', @p49 = '', @p50 = '', @p51 = '', @p52 = '0', @p53 = '', @p54 = '', @p55 = '', @p56 = '', @p57 = '', @p58 = '7/20/2008 10:59:04 AM', @p59 = '7/20/2008 10:59:04 AM', @p60 = '219153'
10:59:10 [1] DEBUG NHibernate.Impl.BatcherImpl - Closed IDbCommand, open IDbCommands: 0
10:59:10 [1] ERROR NHibernate.Impl.SessionImpl - could not synchronize database state with session
NHibernate.AdoNet.TooManyRowsAffectedException: Unexpected row count: 2; expected: 1
at NHibernate.AdoNet.Expectations.BasicExpectation.VerifyOutcomeNonBatched(Int32 rowCount, IDbCommand statement)
at NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
at NHibernate.Impl.ScheduledInsertion.Execute()
at NHibernate.Impl.SessionImpl.Execute(IExecutable executable)
at NHibernate.Impl.SessionImpl.ExecuteAll(IList list)
at NHibernate.Impl.SessionImpl.Execute()
10:59:10 [1] DEBUG NHibernate.Impl.ConnectionManager - registering flush end
10:59:10 [1] DEBUG NHibernate.Transaction.AdoTransaction - rollback
10:59:10 [1] DEBUG NHibernate.Transaction.AdoTransaction - running AdoTransaction.Dispose()
10:59:10 [1] DEBUG NHibernate.Impl.ConnectionManager - aggressively releasing database connection
10:59:10 [1] DEBUG NHibernate.Connection.ConnectionProvider - Closing connection
10:59:10 [1] DEBUG NHibernate.Impl.SessionImpl - transaction completion
10:59:11 [1] DEBUG NHibernate.Impl.SessionImpl - closing session
10:59:11 [1] DEBUG NHibernate.Impl.BatcherImpl - running BatcherImpl.Dispose(true)