ORM Support classes library updates *UPDATED2*

Posts   
 
    
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39786
Joined: 17-Aug-2003
# Posted on: 17-Nov-2003 14:47:40   

A new version of the runtime libraries is available. The following things were fixed: * 17-nov-2003 FIX: * (ORM Support classes) DeleteMulti() of EntityCollectionBase failed, because the Equals() method in EntityFields contained a bug. This has been corrected. FIX: * (ORM Support classes/DQEs) Almost every class is now marked as serializable, except the Transaction Base classes. FIX: * (ORM Support classes) EntityField has a typo in a membervariable: _isourceColumnNullable should have been: _isSourceColumnNullable. FIX: * (ORM Support classes) EntityCollectionBase.IndexOf now works as expected. It will return the index of an entity in the collection based on values of the PK. This fix is based on the fix of the Equals() method in EntityFields.

Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39786
Joined: 17-Aug-2003
# Posted on: 17-Nov-2003 19:18:32   

This library contains a bug, which does not include the last relation in a relationset into a join expression (SQLServer only) in some situations.

The library will be removed from the website until this bug is fixed (within 2 hours I hope).

Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39786
Joined: 17-Aug-2003
# Posted on: 17-Nov-2003 20:28:47   

Ok, what seemed to be a bug in the library wasn't a bug (no not a feature either wink ) but the result of usage of old generated code with the newer library (newer as in: after weak relations support was added.).

Older generated code doesn't specify the relation type in the constructor of a relation object in the RelationClasses. Newer code does. When there is no relation type specified, the relation type defaults to 1:n. This works ok in most situations, but can fail, because in some situations the wrong table is then selected to be joined with the join expression in progress. The selected table is then sometimes already part of the join expression and thus skipped. This will result in the absence of the table in the join expression which can make the query fail.

If you see that kind of behaviour, re-generate your code.

The library released earlier today is now again available, and is OK for usage.

Sorry for this misunderstanding/bugbuzz... I'll stop acting like Microsoft wink

(ps: the bug popped up in the examples, which had old DAL code. These have been updated)

Frans Bouma | Lead developer LLBLGen Pro