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