Bryan_James
Member
Hi everyone!
I'm planning to create a system. I'm structuring it so that it can be implemented whether on an enterprise, microservices, or stand-alone architecture. Using an ORM will be a great help as it can automate a huge part of it. Initially, I've used Laravel's Eloquent on my PHP projects and I'm amazed on how flexible it is. I've been searching for some great ORMs for C#. Linq to SQL is undoubtedly one of the best ORM I've used before. However, it's only available for use with Microsoft SQL Server. I heard ADO.NET can implement Database Agnosticism. However, it's not open-source. NHibernate has been inactive already. Entity Framework has promising features, but as I've read somewhere, it's not database agnostic.
Then there's Dapper. I've heard many great reviews regarding this ORM. As I searched it, Dapper is database agnostic. However, I've seen that queries are not parameterized by default. Also, since Dapper is Micro ORM, many great features have been trimmed.
Here are the features I'm looking for the ORM I'm looking for:
I'm planning to create a system. I'm structuring it so that it can be implemented whether on an enterprise, microservices, or stand-alone architecture. Using an ORM will be a great help as it can automate a huge part of it. Initially, I've used Laravel's Eloquent on my PHP projects and I'm amazed on how flexible it is. I've been searching for some great ORMs for C#. Linq to SQL is undoubtedly one of the best ORM I've used before. However, it's only available for use with Microsoft SQL Server. I heard ADO.NET can implement Database Agnosticism. However, it's not open-source. NHibernate has been inactive already. Entity Framework has promising features, but as I've read somewhere, it's not database agnostic.
Then there's Dapper. I've heard many great reviews regarding this ORM. As I searched it, Dapper is database agnostic. However, I've seen that queries are not parameterized by default. Also, since Dapper is Micro ORM, many great features have been trimmed.
Here are the features I'm looking for the ORM I'm looking for:
- Database Agnostic (can support enterprise DB as well as open-source) OR atleast supports many common database (SQL Server, Oracle SQL, MySQL, PostgreSQL, SQLite)
- Implements prepared statements (or parameterized queries) on database query execution.
- Implements data security (encryption)
- Open-Source
- Fast
- Supports Reflection
- Relationships (optional)
- Supports .NET Core Libraries (CoreFX)
- Supports C#