Optimistic Conncurrency Issue


Author
Message
StrataFrame Team
S
StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)
Group: StrataFrame Developers
Posts: 3K, Visits: 2.5K
Did you rebuild the partial class for the business object after you added the fields?  There are collections within the partial class that the BO uses when saving the data (that's how it determines what fields to save). 

Also, there are 3 different types of optimistic concurrency, OptimisticAllFields, OptimisticTimeStamp, and OptimisticRowVersion.   The UpdateConcurrencyType property on the business object, and the UpdateConcurrencyType of the Sproc (set within the table properties in the DDT) have to match exactly... if the BO thinks it's on row version and the sproc is configured for all fields, then it will throw up.

Also, the properties for your business object can be set within both the component designer for your bo and the property sheet on the individual business object.  Make sure that the property sheet on the instance of the business object is not overriding the property you have set on the component designer.

Clayton Hoyt
Clayton Hoyt
StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)
Group: Forum Members
Posts: 40, Visits: 85
Hi Ben

My responses are below in bold. Thanks for the help. I am completely open to notion that I've screwed something up in this...I am just at a loss as to where to look. My next step is to just build the whole BO from scratch again but don't have time to do that at the moment.

Did you rebuild the partial class for the business object after you added the fields?  There are collections within the partial class that the BO uses when saving the data (that's how it determines what fields to save).  Yes..I tried both Partial and Full rebuilds. Additionally, I have added several fields over the last couple of weeks and these are all available from my business objects as properties. I'd think that this would not be the case if I'd not rebuilt the BOs.

Also, there are 3 different types of optimistic concurrency, OptimisticAllFields, OptimisticTimeStamp, and OptimisticRowVersion.   The UpdateConcurrencyType property on the business object, and the UpdateConcurrencyType of the Sproc (set within the table properties in the DDT) have to match exactly... if the BO thinks it's on row version and the sproc is configured for all fields, then it will throw up. They are both set to OptimisticAllFields. There are 20 or so _ORG parameters in the stored proc. I'd imagine that if TimeStamp or RowVersion were being used, there wouldn't be that many (only one?). 

Also, the properties for your business object can be set within both the component designer for your bo and the property sheet on the individual business object.  Make sure that the property sheet on the instance of the business object is not overriding the property you have set on the component designer. I didn't know you could do this and certainly had not coded it directly...I did check though and didn't find anywhere that was being done in code I had written.


StrataFrame Team
S
StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)StrataFrame Developer (6.5K reputation)
Group: StrataFrame Developers
Posts: 3K, Visits: 2.5K
Well, Clayton, what you have here is a certifiable "gremlin."  You can't find it, but you know it's there Hehe
Clayton Hoyt
Clayton Hoyt
StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)StrataFrame Novice (66 reputation)
Group: Forum Members
Posts: 40, Visits: 85
Thanks Ben

That is what I was afraid you were going to say! I'll just reubild the thing when time permits. For the moment, I'll move on without concurrency and pray for the best!

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search