/CafeinaXml

.Net library to persist entities using xml files.

Primary LanguageC#MIT LicenseMIT

CafeinaXml

By Daniel Cañizares Corrales

This was my try to create a .Net library to persist entities using xml files.

It was useful for me in some desktop projects but the library hasn't been updated for so long. I made this as a student, but I hope that someone will find something helpful inside it.

Readme

Cafeina Xml is a Microsoft.Net library that allows you to easily persist entities in the globally supported Xml standard. It brings you a fast way to serialize, store and restore your objects with less code-lines than you ever seen. It's user friendly and you don't need to create data enviroments in order to deploy your app, Cafeina Xml will do everything for you.

Cafeina Xml will not replace a DBMS in some enviroments like heavily transactional ones, but it will help you in too many cases to quickly create and deploy any kind of applications in web or desktop enviroments.

The next version we are preparing, will include features to improve multi-user access and tons of cool things that you'll love. While we finish it, try this version of Cafeina Xml and be amazed of its easiness and power.

Less Sql, more fun, happy Computing!

Cafeina Team.


VERSION HISTORY



RELEASE CANDIDATE (RC)

VERSION 0.4.0

01/10/2012

NEWS

  • New! you can define Lists of entities or native types (int, string...)!
  • New! you can define Entities as properties to save!
  • New! you can save entities without Unique or Identity attributes (Save method)!
  • Unique type is now supported!
  • CFXML1.0 is the new representation standard and it will be published soon
  • To save validating Unique or Identity attributes use Insert or Update methods
  • Simplified xml representation removing attributes from file
  • PrimaryKey extended method removed, just use Property extended method
  • You can change keys in your entities without any modification*
  • Improved entities validation
  • Added data-strutures reflection
  • Key attribute renamed as MetaXmlAttribute (You can use it as MetaXml)
  • Most of CafeinaXml is Microsoft Code Analysis All Rules complaining
  • Library partially redesigned to support future improvements
FIXES
  • Failed insert or update is now informed
PENDING
  • Lists of Lists currently unsupported
  • Validate version of the file
BUGS
  • When Xml file exists but is empty library crashes


BETA 2 PATCH 1

VERSION 0.3.1

24/06/2012

FIXED
  • Uncomplete xml entities will partially load instead of throw and exception



BETA 2

VERSION 0.3.0

26/04/2012

NEWS
  • Added extended method string Property(Object) and PrimaryKey(Object) to XElement in order to improve DAL sintax
    (For more information see the official Demo)
  • XmlDatacontext GetEntities method renamed as GetElement to clarify sintax
PENDING
  • Unique type is created but currently unsopported
  • Validations on insert, update and delete for Unique type
  • NotNull properties aren't supported
BUGS
  • Failed insert or update isn't informed (In revision)



BETA

VERSION 0.2.0

21/02/2012

NEWS
  • Reflection basic caching system to improve performance
  • InsertOrUpdate method separated on Insert and Update methods
  • DAL sytax is now easier than before
  • XmlDatacontext is now the main-entry for all operations
  • Attribute IdentifierAttribute renamed as PrimaryKey
  • IdentifierType (Unique, Identity) renamed as PropertyType (Normal, Identity, Unique)
  • Library internally redesigned
PENDING
  • Unique type is created but currently unsopported
  • Validations on insert, update and delete for Unique type
  • NotNull properties aren't supported
BUGS
  • Failed insert or update isn't informed



ALPHA

VERSION 0.1.0

28/09/2011

PENDING
  • Only identity type allowed
BUGS
  • No known bugs



COMPATIBILITY ISSUES



Why are there so many compatibility issues between versions?


Currently, Cafeina Xml it's on beta testing and some many things are changing to bring you the best developing experience. On future stable releases don't expect to many issues.

RC

VERSION 0.4.x


This version makes little changes in Xml representation and code syntax. Compatibility issues with older versions.

BETA 2

VERSION 0.3.x


This version makes little changes in code syntax. Small compatibility issues with older versions. There are no Xml issues.

BETA

VERSION 0.2.x


Compatibility issues with oldest version.