Fluent NHibernate one-to-many Cascade.SaveUpdate() blocks updates to entity
We have an Enrollment object that has a Student object and the Student object has many Enrollment objects.  If I leave off the Cascade.SaveUpdate() from the Enrollment's Student reference, updates to the Student table do not execute, but updates to the Enrollment object succeed.  But if I add the Cascade.SaveUpdate() on the Enrollment's Student reference, the updates to the Student table work fine, but updates to the Enrollment table fail.  No exceptions are throw, the updates just don't succeed. 

Is there some way to both save objects on both sides of the relationship?

Here's the code snips, let me know if you need more:<br>
EnrollmentMap: 
<pre>
    References(x => x.Student)
                .Column("student_id");// without the cascade on the next line, this fails to update changes to Student
                //.Cascade.SaveUpdate();// when uncommented this updates changes to Student but blocks updates to Enrollment
</pre>
StudentMap:
<pre>
    HasMany(x => x.Enrollments)
                .KeyColumn("student_id")
                .Inverse()
                .Cascade.SaveUpdate();
</pre>

Database call:
<pre>
public Application GetApplication(long applicationId)
        {
            using (var session = sessionFactory.OpenSession())
            {
                var query = session.Linq<Application>();
                query.Expand(x => x.Enrollment);
                query.Expand(x => x.Enrollment.Student);
                var result = from entity in query
                             where entity.ApplicationId == applicationId
                             select entity;
                return result.Count() > 0 ? result.First() : null;
            }
        }
</pre>
Database save:<br>
<pre>
using (var session = sessionFactory.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    try
                    {
                        session.SaveOrUpdate(entity);
                        transaction.Commit();
                    }
                    catch(Exception ex)
                    {
                        transaction.Rollback();
                        throw;
                    }
                }
            }
</pre>
Fluent NHibernate one-to-many Cascade.SaveUpdate() blocks updates to entity
===

We have an Enrollment object that has a Student object and the Student object has many Enrollment objects.  If I leave off the Cascade.SaveUpdate() from the Enrollment's Student reference, updates to the Student table do not execute, but updates to the Enrollment object succeed.  But if I add the Cascade.SaveUpdate() on the Enrollment's Student reference, the updates to the Student table work fine, but updates to the Enrollment table fail.  No exceptions are throw, the updates just don't succeed. 

Is there some way to both save objects on both sides of the relationship?

Here's the code snips, let me know if you need more:<br>
EnrollmentMap: 
<pre>
    References(x => x.Student)
                .Column("student_id");// without the cascade on the next line, this fails to update changes to Student
                //.Cascade.SaveUpdate();// when uncommented this updates changes to Student but blocks updates to Enrollment
</pre>
StudentMap:
<pre>
    HasMany(x => x.Enrollments)
                .KeyColumn("student_id")
                .Inverse()
                .Cascade.SaveUpdate();
</pre>

Database call:
<pre>
public Application GetApplication(long applicationId)
        {
            using (var session = sessionFactory.OpenSession())
            {
                var query = session.Linq<Application>();
                query.Expand(x => x.Enrollment);
                query.Expand(x => x.Enrollment.Student);
                var result = from entity in query
                             where entity.ApplicationId == applicationId
                             select entity;
                return result.Count() > 0 ? result.First() : null;
            }
        }
</pre>
Database save:<br>
<pre>
using (var session = sessionFactory.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    try
                    {
                        session.SaveOrUpdate(entity);
                        transaction.Commit();
                    }
                    catch(Exception ex)
                    {
                        transaction.Rollback();
                        throw;
                    }
                }
            }
</pre>