Open wallymathieu opened 5 years ago
Then there is https://maetl.net/talks/rise-and-fall-of-orm
http://blogs.tedneward.com/post/the-vietnam-of-computer-science/
automated O/R mapping tool, such as TopLink, Hibernate / NHibernate, or Gentle.NET
or
relational-oriented tools, such as JDBC or ADO.NET
We see some trends, trying to hide SQL (and make it fit OO or procedural patterns) vs trying to expose SQL in the host language. Active records in ruby and EF in c# is nice when that's sort of what you want and need. For performance reasons it can make a lot of sense to skip the abstractions and use raw SQL + result mapper.
Perhaps we see one strain of evolution as : JDBC or ADO.NET -> Dapper style -> Squeryl or typed SQL style I.e. SQL oriented and then adapting that into the host language
Another strain of evolution is the active records pattern.
DataSets -> deprecated ActiveRecord -> ? Seems to be prevalent in ruby/python world still
A more common strain of evolution is the POCO ORM patterns as seen with
XML mapping edmx or NHibernate -> Entity framework core/NHibernate style
While also noting that the relationships are not in time order.
Ruby on Rails mentions active records: https://guides.rubyonrails.org/active_record_basics.html . Perhaps rails embrace of this pattern is what makes rails appropriate for smallish applications. Angular feels sort of like Rails in the browser. I'm unsure if there is anything more formal to say around this?
Is there a historical view we can find?
Are SQL type provider unique type of DB mapper?
https://stackoverflow.com/questions/37644957/what-is-the-difference-between-dal-dto-and-dao-in-a-3-tier-architecture-style-i/37751345