I've wrote my ORM because it works with .NET Compact Framework on devices as well as with full .NET Framework without recompilation.
What is the reason you chose the
framework you use?
It does not require from class to be inherited from specified base type or implement any kind of interface.
It supports nested transaction scopes that are not presented in .NET Compact Framework.
It allows me to create data access layer with domain model can be used both on device and on desktop or web application without cross-compilation or duplication.