top | item 2439346

Microsoft ADO.NET Entity Framework 4.1 Released

17 points| hanifvirani | 15 years ago |blogs.msdn.com

15 comments

order
[+] pragmatic|15 years ago|reply
One problem with Entity Framework is lack of alternative (not MS Sql Server) database support.

We are a Microsoft shop. However recently we've had to integrate with Oracle and now MySql. Oracle has just released beta support for EF: http://www.oracle.com/technetwork/topics/dotnet/downloads/or...

We have been Using Cool Storage (http://viciproject.com/wiki/projects/coolstorage/home) for quite some time. Honestly, It's the best ORM I've ever used. It stays out of your way and it doesn't surprise you. It's very easy to set up.

I'm surprised it hasn't gained more popularity. Cool Storage is the reason I haven't kept up on EF and the changes to ADO.NET. Bonus: it works with Oracle and other non MSFT databases. Bonus++: It's open source.

[+] vyrotek|15 years ago|reply
Very, uh, cool. I'll have to check out Cool Storage. How does it handle eager loading One-to-Many relationships? Such as, an Order has multiple Products and my query selects 3 Orders for a customer. Will those Products come pre-populated? A big issue I have with LinqToSQL and EF is the double/triple/n db dipping that can occur when trying to fill a complex entity.
[+] pragmatic|15 years ago|reply
A new release is coming soon: CoolStorage 1.5 will be released sometime in April and it will support the following platforms out of the box:

- .NET 3.5 / SQL Server

- .NET 3.5/ Oracle

- .NET 3.5 / MySql

- .NET 3.5 / Sqlite

- .NET 3.5 / MS Acess

- .NET 3.5 / VistaDB

- MonoTouch / Sqlite

- MonoDroid / Sqlite

- Windows Phone 7 / Sqlite

- Mono / Sqlite

http://forum.viciproject.com/viewtopic.php?f=8&t=368

[+] xpaulbettsx|15 years ago|reply
(Disclaimer: MS Employee) - this release is actually pretty cool; you can create your models as regular classes and collections (with a very small number of annotations), and EF will create a schema on-the-fly, and new up MS's version of a Sqlite3 database as soon as the first request comes in.

Really great for F/OSS web projects on the MS stack since you don't have to perform the completely asinine step #1 of contributing, "Set up a SQL Express instance..."

[+] vyrotek|15 years ago|reply
First, let me say that I'm a fan of EF and .Net. In fact, our startup is running on C# and Azure right now. But all this talk of writing code and models and then having it create the schema drives me nuts and the normalization nazi in me dies a little bit. In what scenario other than your toy weekend project would you ever seriously use such a feature? No DBA is going to run with that. The DBAs at my past jobs still aren't even letting the developers do dynamic queries using LINQ (all db calls must go through a proc), let alone make a freaking schema.

Disclaimer: I have a good friend on the EF team and question almost everything they do :)

[+] MichaelGG|15 years ago|reply
Not trying to bash the work that the EF team has done, but with things like not having enum support, which is something I view as so simple and trivial (even Linq-to-SQL does it), it makes the entire thing seem not so serious.
[+] euroclydon|15 years ago|reply
It's great that there are plenty of options in the ORM space. I still use Castle's Active Record for larger projects, and EF Code First for small ones. I spent about a year learning to use NHibernate via CAR, and it was time well spent.

I catch glimpses that indicate EF has most of the features in NH, but I wouldn't want to learn another ORM in depth -- there's just no value in it.