Are you using sessionscope per request? If yes, where is the scope
created and disposed. Flushing/writing to the db takes place when the
scope is disposed in such a scenario.

2009/5/1 Hexedit <[email protected]>:
>
> It is not a bi-directional association. The code is not being called
> within a try-catch block as well. Here is my action that is calling
> the code:
>
> [AcceptVerbs(HttpVerbs.Post)]
>        public ActionResult Create(FormCollection form)
>        {
>
>            RentalProperty model = new RentalProperty();
>            TryUpdateModel<Address>(model.Address, "Address", new[]
> { "Street", "Town", "State", "ZipCode" }, form.ToValueProvider());
>            TryUpdateModel<RentalProperty>(model, new[]{"MLSNumber",
> "AllowsPets", "MaxOccupants", "Price", "Beds", "Baths",
> "SquareFeet",            "IsMultiFamily",
>                "IsFurnished", "HasPrivateEntrance", "HasDiningRoom",
> "HasStove", "Has Refridgerator", "HasDishWasher",
>                "HasMicrowave", "HasWasherDryer", "GarageType",
> "BedSize", "Rentalfloor", "AirConditioning", "Description", "Agent"},
> form.ToValueProvider());
>            if (ModelState.IsValid)
>            {
>                model.Create();
>                TempData["message"] = "Rental with address " +
> model.Address.DisplayAddress + " successfully created!";
>                return RedirectToAction("AddPictures", new { id =
> model.ID });
>            }
>            else
>            {
>                SetupList();
>                return View(model);
>            }
>        }
>
> I do not know where there would be something calling a VoteRollback.
> I've been butting my head against my desk with this problem for the
> past day or so, my posting this here was sort of a last resort hoping
> someone could help. I too have no idea why it would RollBack as there
> is no logged error from NHibernate. I will continue to investigate
> this some more but like I said I think I've hit a wall with this one.
>
> On May 1, 9:08 am, Markus Zywitza <[email protected]> wrote:
>> Is this a bidirectional association? If yes, is the other end set to
>> inverse=true?
>>
>> Are you sure that you don't have a hidden try-catch-block somewhere that
>> catches an exception and call transactionScope.VoteRollback()? This is a
>> more common problem than most people can imagine.
>>
>> If none of the above is the problems core, please isolate the problem by
>> removing all properties except the nullable many-to-one and the entities ID
>> to reassure that not one of the other properties causes the rollback.
>>
>> Please don't misunderstand me as ruse, but I have never heard of spontaneous
>> rollbacks of NHibernate before.
>>
>> -Markus
>>
>> 2009/5/1 Hexedit <[email protected]>
>>
>>
>>
>> > First off I want to say thanks in advance for those who take the time
>> > to read this and help out with this problem.
>>
>> > I am writing an application using Castle ActiveRecord and Asp.NET MVC
>> > and I've run into an issue I can't seem to diagnose.
>>
>> > I have a class with the following property.
>>
>> > Code:
>>
>> > [BelongsTo("listing_agent", NotNull = false, NotFoundBehaviour =
>> > NotFoundBehaviour.Ignore,
>> >            Cascade = CascadeEnum.None)]
>> >        public virtual Employee Agent
>> >        {
>> >            get { return _agent; }
>> >            set { _agent = value; }
>> >        }
>>
>> > The business logic behind this is that I have a bunch of sales
>> > listings which may or may not have an Agent associated with it.
>> > Whenever I try to create a sales listing with the Agent set to null,
>> > the insert completes with no exception but is then immediately rolled
>> > back by NHibernate. Here is the associated logs with this transaction:
>>
>> > Quote:
>>
>> > 16:22:24 [5] DEBUG NHibernate.Impl.SessionImpl - opened session at
>> > timestamp: 633767053447
>> > 16:22:24 [5] DEBUG NHibernate.Transaction.AdoTransaction - Begin
>> > (Unspecified)
>> > 16:22:24 [5] DEBUG NHibernate.Connection.DriverConnectionProvider -
>> > Obtaining IDbConnection from Driver
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.DefaultSaveOrUpdateEventListener - saving
>> > transient instance
>> > 16:22:24 [5] DEBUG NHibernate.Event.Default.AbstractSaveEventListener
>> > - saving [Westshore.Models.RentalProperty#<null>]
>> > 16:22:24 [5] INFO NHibernate.Engine.Cascade - processing cascade
>> > NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for:
>> > Westshore.Models.RentalProperty
>> > 16:22:24 [5] INFO NHibernate.Engine.Cascade - done processing cascade
>> > NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for:
>> > Westshore.Models.RentalProperty
>> > 16:22:24 [5] DEBUG NHibernate.Event.Default.AbstractSaveEventListener
>> > - executing insertions
>> > 16:22:24 [5] DEBUG NHibernate.Event.Default.WrapVisitor - Wrapped
>> > collection in role: Westshore.Models.RentalProperty.Pictures
>> > 16:22:24 [5] DEBUG NHibernate.Event.Default.WrapVisitor - Wrapped
>> > collection in role: Westshore.Models.RentalProperty.Availability
>> > 16:22:24 [5] DEBUG NHibernate.Event.Default.AbstractSaveEventListener
>> > - executing identity-insert immediately
>> > 16:22:24 [5] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister
>> > - Inserting entity: Westshore.Models.RentalProperty (native id)
>> > 16:22:24 [5] DEBUG NHibernate.AdoNet.AbstractBatcher - Opened new
>> > IDbCommand, open IDbCommands: 1
>> > 16:22:24 [5] DEBUG NHibernate.AdoNet.AbstractBatcher - Building an
>> > IDbCommand object for the SqlString: INSERT INTO RentalProperties
>> > (mls_number, allows_pets, air_conditioning_type, max_occupants, price,
>> > square_feet, beds, baths, multi_family, garage_type, rental_floor,
>> > furnished, bed_size, private_entrance, dining_room, floor_type, stove,
>> > refridgerator, dishwasher, microwave, washer_dryer, description,
>> > listing_agent, street, town, state, zip_code) VALUES
>> > (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
>> > ?, ?);
>> > select SCOPE_IDENTITY()
>> > 16:22:24 [5] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister
>> > - Dehydrating entity: [Westshore.Models.RentalProperty#<null>]
>> > 16:22:24 [5] DEBUG NHibernate.Type.StringType - binding '' to
>> > parameter: 0
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 1
>> > 16:22:24 [5] DEBUG NHibernate.Type.PersistentEnumType - binding '0' to
>> > parameter: 2
>> > 16:22:24 [5] DEBUG NHibernate.Type.Int32Type - binding '0' to
>> > parameter: 3
>> > 16:22:24 [5] DEBUG NHibernate.Type.DecimalType - binding '0' to
>> > parameter: 4
>> > 16:22:24 [5] DEBUG NHibernate.Type.Int32Type - binding '0' to
>> > parameter: 5
>> > 16:22:24 [5] DEBUG NHibernate.Type.DecimalType - binding '0' to
>> > parameter: 6
>> > 16:22:24 [5] DEBUG NHibernate.Type.DecimalType - binding '0' to
>> > parameter: 7
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 8
>> > 16:22:24 [5] DEBUG NHibernate.Type.PersistentEnumType - binding '0' to
>> > parameter: 9
>> > 16:22:24 [5] DEBUG NHibernate.Type.PersistentEnumType - binding '0' to
>> > parameter: 10
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 11
>> > 16:22:24 [5] DEBUG NHibernate.Type.PersistentEnumType - binding '0' to
>> > parameter: 12
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 13
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 14
>> > 16:22:24 [5] DEBUG NHibernate.Type.PersistentEnumType - binding '0' to
>> > parameter: 15
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 16
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 17
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 18
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 19
>> > 16:22:24 [5] DEBUG NHibernate.Type.BooleanType - binding 'False' to
>> > parameter: 20
>> > 16:22:24 [5] DEBUG NHibernate.Type.StringClobType - binding '' to
>> > parameter: 21
>> > 16:22:24 [5] DEBUG NHibernate.Type.Int32Type - binding null to
>> > parameter: 22
>> > 16:22:24 [5] DEBUG NHibernate.Type.StringType - binding 'asdfasdf' to
>> > parameter: 23
>> > 16:22:24 [5] DEBUG NHibernate.Type.StringType - binding 'asdf' to
>> > parameter: 24
>> > 16:22:24 [5] DEBUG NHibernate.Type.StringType - binding 'ws' to
>> > parameter: 25
>> > 16:22:24 [5] DEBUG NHibernate.Type.StringType - binding '45444' to
>> > parameter: 26
>> > 16:22:24 [5] DEBUG NHibernate.Transaction.AdoTransaction - Enlist
>> > Command
>> > 16:22:24 [5] DEBUG NHibernate.AdoNet.AbstractBatcher - Opened
>> > IDataReader, open IDataReaders: 1
>> > 16:22:24 [5] DEBUG NHibernate.Type.Int32Type - returning '27' as
>> > column:
>> > 16:22:24 [5] DEBUG NHibernate.Id.IdentifierGeneratorFactory - Natively
>> > generated identity: 27
>> > 16:22:24 [5] DEBUG NHibernate.Driver.NHybridDataReader - running
>> > NHybridDataReader.Dispose()
>> > 16:22:24 [5] DEBUG NHibernate.AdoNet.AbstractBatcher - Closed
>> > IDataReader, open IDataReaders :0
>> > 16:22:24 [5] DEBUG NHibernate.AdoNet.AbstractBatcher - Closed
>> > IDbCommand, open IDbCommands: 0
>> > 16:22:24 [5] INFO NHibernate.Engine.Cascade - processing cascade
>> > NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for:
>> > Westshore.Models.RentalProperty
>> > 16:22:24 [5] INFO NHibernate.Engine.Cascade - done processing cascade
>> > NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for:
>> > Westshore.Models.RentalProperty
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.AbstractFlushingEventListener - flushing
>> > session
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.AbstractFlushingEventListener - processing
>> > flush-time cascades
>> > 16:22:24 [5] INFO NHibernate.Engine.Cascade - processing cascade
>> > NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for:
>> > Westshore.Models.RentalProperty
>> > 16:22:24 [5] INFO NHibernate.Engine.Cascade - done processing cascade
>> > NHibernate.Engine.CascadingAction+SaveUpdateCascadingAction for:
>> > Westshore.Models.RentalProperty
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.AbstractFlushingEventListener - dirty
>> > checking collections
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.AbstractFlushingEventListener - Flushing
>> > entities and processing referenced collections
>> > 16:22:24 [5] DEBUG NHibernate.Engine.Collections - Collection found:
>> > [Westshore.Models.RentalProperty.Pictures#27], was: [<unreferenced>]
>> > (initialized)
>> > 16:22:24 [5] DEBUG NHibernate.Engine.Collections - Collection found:
>> > [Westshore.Models.RentalProperty.Availability#27], was:
>> > [<unreferenced>] (initialized)
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.AbstractFlushingEventListener - Processing
>> > unreferenced collections
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.AbstractFlushingEventListener - Scheduling
>> > collection removes/(re)creates/updates
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.AbstractFlushingEventListener - Flushed: 0
>> > insertions, 0 updates, 0 deletions to 1 objects
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.AbstractFlushingEventListener - Flushed: 2
>> > (re)creations, 0 updates, 0 removals to 2 collections
>> > 16:22:24 [5] DEBUG NHibernate.Impl.Printer - listing entities:
>> > 16:22:24 [5] DEBUG NHibernate.Impl.Printer -
>> > Westshore.Models.RentalProperty{'ID'='27', 'MLSNumber'='',
>> > 'AllowsPets'='False', 'AirConditionioning'='0', 'MaxOccupants'='0',
>> > 'Price'='0', 'SquareFeet'='0', 'Beds'='0', 'Baths'='0',
>> > 'IsMultiFamily'='False', 'GarageType'='0', 'Rentalfloor'='0',
>> > 'IsFurnished'='False', 'BedSize'='0', 'HasPrivateEntrance'='False',
>> > 'HasDiningRoom'='False', 'FloorType'='0', 'HasStove'='False',
>> > 'HasRefridgerator'='False', 'HasDishWasher'='False',
>> > 'HasMicrowave'='False', 'HasWasherDryer'='False', 'Description'='',
>> > 'Agent'='null', 'Pictures'='[]', 'Availability'='[]',
>> > 'Address'='component[Street,Town,State,ZipCode]{'Street'='asdfasdf',
>> > 'Town'='asdf', 'State'='ws', 'ZipCode'='45444'}'}
>> > 16:22:24 [5] DEBUG
>> > NHibernate.Event.Default.AbstractFlushingEventListener - executing
>> > flush
>> > 16:22:24 [5] DEBUG
>>
>> ...
>>
>> read more »
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to