SisoDb reached v4.0.0 – now supports SqlCe4

SisoDb has now reached v4.0.0 and it has gone throw some heavy changes. Let’s take a look at the release notes.

Release notes

Major rewrite. The generation of StructureSchemas and Structures (graph of indexes) now lives in project: PineCone.
The querying table (Indexes) is now key-value which will open up for better querying support.
Reworked internals to become more generic to simplify writings of additional providers.

[Fixed]     A connection could sometimes get left in a open state.
[Fixed]     Bug when Including other Json documents in the same result (Merged Documents).
[Updated]   ServiceStack.Text updated from v2.2.7 to v3.0.0.
[Updated]   SisoId is now StructureId both in classes as well as in storage schema.
[Updated]   Storage schema for Indexes are now key-value.
[Updated]   Storage schema for Uniques now have UqMemberPath instead of UqName
[Updated]   All members of QueryEngine and UnitOfWork taking Enumerable of Ids, now takes param array of ids instead. E.g. GetByIds, DeleteByIds etc
[Updated]   StructureSetUpdater should not be used individually, but via Database.UpdateStructureSet.
[Updated]   The support for how Uniques are handled has been changed. The property marked as unique is turned into a hashed string before stored. That way we get uniformed lenght strings.
[Updated] 	As a security precausion, DeleteByIdInterval is now only supported when you use Identities and not Guids.
[New]       SqlCE4 support, except from TransactionScopes. Support is on its was. NORMAL TRANSACTIONS ARE OF COURSE SUPPORTED THOUGH!
[New]       The Id (previous SisoId) now StructureId now does support Guid, int, long and Nullable, Nullable, Nullable
[New]       HashSets and Dictionaries are now supported
[New]       Extensionpoints for QueryEngine and UnitOfWork now exists on ISisoDataBase via ReadOnce() and WriteOnce(). These simpliefies working with QueryEngine/UnitOfWorks BUT SHOULD ONLY BE USED WHEN DOING ONE OPERATION AGAINST QueryEngine or UnitOfWork.

It’s not backwards compatible, hence v.4.0.0

No, it’s not backwards compatible. The underlying database schema that previously had a flattened view of your structures now is key-values. Why? Well, I wan’t the ability of constructing SQL queries that supports nested enumerables etc. Of course, the key-value solution will cause a hit in the performance, but if it’s really critical to you, you can turn off indexing for the members you don’t query on.

I will start updating the documentation shortly at SisoDb.Com


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s