I'm looking for a .Net 3.5 ORM framework with a rather unusual set of requirements:
- I need to create and alter tables at runtime with schemas defined by my end-users.
(Obviously, that wouldn't be strongly-typed; I'm looking for something like a DataTable there) - I also want regular strongly-typed partial classes for rows in non-dynamic tables, with custom validation and other logic. (Like normal ORMs)
- I want to load the entire database (or some entire tables) once, and keep it in memory throughout the life of the (WinForms) GUI. (I have a shared SQL Server with a relatively slow connection)
- I want full WinForms data-binding support
- I also want regular LINQ support (like LINQ-to-SQL) for ASP.Net on the shared server (which has a fast connection to SQL Server)
- In addition to SQL Server, I also want to be able to use a single-file database that would support XCopy deployment (without installing SQL Server on the end-user's machine). (Probably Access or SQL CE)
- Finally, it has to be free (unless it's OpenAccess)
I'll probably have to write it myself, as I don't think there is an existing ORM that meets these requirements.
However, I don't want to re-invent the wheel if there is one, hence this question.
I'm using VS2010, but I don't know when my webhost (LFC) will upgrade to .Net 4.0