Charakteristika

  • Přístup Code First - navrhnou se třídy a systém z nich vygeneruje databázový skript
  • V případě změny se nemusí přegenerovat kód, je možno ručně upravit třídu + tabulku v DB
  • Reflection je optimalizováno s použitím cache a proxy objektů
  • Univerzální přístup k objektům (každý persistentní objekt je potomkem třídy Proxy)
  • Persistentní třídy plně zachovávají dědičnost i polymorfismus
  • Každé persistentní třídě odpovídá tabulka v databázi
  • Každá instance má záznam v tabulce své třídy + v tabulkách tříd svých „předků“
  • Vazba přes primární klíč OID typu Guid (odpadají problémy s autoinkrementem)
  • Každý objekt má záznam v tabulce Proxy (je-li znám typ objektu, nenačítá se z ní)
  • Seznamy pracují výhradně s lehkými objekty proxy (obsahují prakticky pouze OID)
  • Objekty se plně načítají až v případě potřeby metodou Cast
  • Seznamy se plní standardními SQL dotazy (zachována mocnost příkazu SELECT)
  • Seznamy mají zabudováno stránkování, třídění a filtrování
  • Podpora transakcí
  • Relace 1xN i NxN (ve vazbách objekty vystupují jednotně jako typ Proxy)
  • Metodou LightCast získáme vazby objektu, aniž by se načítaly ostatní vlastnosti
  • Zabudovaná Cache je vždy aktuální - kontrolováno dotazem do základní tabulky třídy
  • free open source