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 NHibernate.AdoNet.ConnectionManager - registering
flush begin
16:22:24 [5] DEBUG
NHibernate.Persister.Collection.ICollectionPersister - Inserting
collection: [Westshore.Models.RentalProperty.Pictures#27]
16:22:24 [5] DEBUG
NHibernate.Persister.Collection.ICollectionPersister - collection was
empty
16:22:24 [5] DEBUG
NHibernate.Persister.Collection.ICollectionPersister - Inserting
collection: [Westshore.Models.RentalProperty.Availability#27]
16:22:24 [5] DEBUG
NHibernate.Persister.Collection.ICollectionPersister - collection was
empty
16:22:24 [5] DEBUG NHibernate.AdoNet.ConnectionManager - registering
flush end
16:22:24 [5] DEBUG
NHibernate.Event.Default.AbstractFlushingEventListener - post flush
16:22:24 [5] DEBUG NHibernate.Transaction.AdoTransaction - Rollback
16:22:24 [5] DEBUG NHibernate.Transaction.AdoTransaction -
IDbTransaction RolledBack
16:22:24 [5] DEBUG NHibernate.Transaction.AdoTransaction -
IDbTransaction disposed.
16:22:24 [5] DEBUG NHibernate.Impl.SessionImpl - transaction
completion
16:22:24 [5] DEBUG NHibernate.AdoNet.ConnectionManager - aggressively
releasing database connection
16:22:24 [5] DEBUG NHibernate.Connection.ConnectionProvider - Closing
connection
16:22:24 [5] DEBUG NHibernate.Impl.SessionImpl - running
ISession.Dispose()
16:22:24 [5] DEBUG NHibernate.Impl.SessionImpl - closing session
16:22:24 [5] DEBUG NHibernate.AdoNet.AbstractBatcher - running
BatcherImpl.Dispose(true)
Is what I am trying to do impossible or am I missing something? When
the Agent property is set to a valid object that is persisted in the
database, the Listing gets created successfully.
Any help would be greatly appreciated!
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---