3

This is a bit of a weird question. But I'm tired of having a certain type of discussions with a colleague of mine. Could someone PLEASE (I'm desparate) give me some technical backup on this? I'm trying to ignore his harsh language, but find that very hard.
Does one continue discussions like these? Or is it better just to leave it aside and say something like "no comment"?

How I see it:

  • EF is way more then Linq to Sql
  • Our application is slow, because our team lacks knowledge and experience, not because EF is 'shitty'
  • maybe the type of application (huge inheritance and recursive structures) is not made to be used with EF
  • think twice before you say something and REMEMBER your own opinion (at least for a few minutes)

(3:08:34 PM) TweeZz: it's "fast" until the object gets saved into db
(3:08:45 PM) TweeZz: so probably something with the fact that then those objects are attached?
(3:08:57 PM) TweeZz: and until I don't click the button they are detached?
(3:09:21 PM) TweeZz: takes double the time :(
(3:09:23 PM) colleague: until you click the button they dont have anything to do with database, they are just POCO
(3:09:39 PM) TweeZz: k so probably something there
(3:09:41 PM) colleague: then they get saved on db and get tracked
(3:09:43 PM) TweeZz: change tra
(3:09:44 PM) TweeZz: jj
(3:09:55 PM) colleague: but that's what we've known from the beginning
(3:09:57 PM) colleague: :)
(3:10:03 PM) colleague: it has to take some time
(3:10:06 PM) TweeZz: jj just a bit surprised about the difference
(3:10:13 PM) colleague: i just hoped that that EF isn't soooo shitty :)
(3:10:13 PM) TweeZz: anyhow it's too slow
(3:10:20 PM) TweeZz: no comment ;)
(3:10:31 PM) colleague: well i hoped it would do stuff more clever
(3:10:45 PM) colleague: to me it seems worse than linqToSql yet it should be a replacement for it
(3:10:56 PM) colleague: faaaar worse :)
(3:11:15 PM) TweeZz: again, no comment ;)
(3:12:19 PM) colleague: myea, i picked it
(3:12:22 PM) colleague: i'm to blame :)
(3:13:01 PM) TweeZz: you can discuss it here ;)
(3:13:01 PM) TweeZz: Entity Framework vs LINQ to SQL
(3:13:07 PM) TweeZz: or post a question
(3:13:12 PM) TweeZz: why does EF suck
(3:13:12 PM) TweeZz: ;)
(3:13:24 PM) colleague: i know answer to that already ;]
(3:13:26 PM) colleague: M$ :D
(3:13:52 PM) colleague: something is good so why not abandon it and let's do something huge and slow
(3:13:54 PM) TweeZz: hehe
(3:13:55 PM) colleague: vista :D
(3:17:24 PM) TweeZz: seriously I will post a question on stackoverflow
(3:17:52 PM) TweeZz: how do I tell my colleague that linq to sql is not the same as entity framework and that EF isn't "shitty"
(3:18:18 PM) colleague: when did i say that linq to sql is the same as EF?
(3:18:30 PM) colleague: i dont think that it's the same, never thought that
(3:18:42 PM) colleague: afaik :D
(3:19:16 PM) TweeZz: and then you can discuss your opinion with the community ;)
(3:19:34 PM) colleague: thx ;]
(3:19:40 PM) colleague: you're such a help
(3:19:46 PM) TweeZz: what about this?
(3:19:47 PM) TweeZz: 3:10:45 PM) colleague: to me it seems worse than linqToSql yet it should be a replacement for it
(3:19:51 PM) TweeZz: I can't handle you alone man
(3:19:54 PM) TweeZz: I need backup

Community
  • 1
  • 1
TweeZz
  • 4,779
  • 5
  • 39
  • 53
  • 1
    This question doesn't belong here, its just going to start a religous war. FWIW your collegue sounds like he is being pretty reasonable...he certainly does not appear to think that Linq to SQL == EF, it also sounds like he is simply disappointed in EF's performance, not an unreasonable position imo. – Tim Jarvis May 27 '11 at 05:15

2 Answers2

6

Instead of proving EF is not shitty to your colleague.

You should ask your colleague to prove EF is shitty not only to you, but to the entire world!

I need front row seats for that one!!

abhilash
  • 5,605
  • 3
  • 36
  • 59
  • 3
    Ok, I will try to propose that to him. I was honestly a bit scared for a first reaction on _my question_ since it's kinda technical, but then again, not really.. Thank you for your interest. Keep your pop corn ready! – TweeZz May 27 '11 at 05:11
2
  1. EF implements unit of work pattern, identity map pattern, repository pattern.
  2. EF introduces one more abstraction level to introduce database independent SQL.
  3. EF supports POCO and Self Tracking.
  4. EF simplifies complex query without having to worry about joins.
  5. EF introduces lazy loading and eager loading of navigation properties.
  6. EF let's you modify objects and it preserves the changes and when you call save changes, it will save everything correctly to database.
  7. EF supports data annotation validation as well.

If your collegue does not understand any of this then I think it's just waste of your valuable time.

Akash Kava
  • 39,066
  • 20
  • 121
  • 167
  • I actually prefer LINQ2SQL for it's "simplicity". I'm not a fan of POCO-as-model-object (POCO are good for exported data, though); or code-first (I prefer SQL-Server-Database-Is-Master and have appropriate schema versioning tools). Joins are fundamental to RA and, if desired, can be hidden in the DAL entirely. With a little bit of work it's easy to get disconnected graphs with LINQ2SQL .. anyway +1 for "why EF [at least 4+] is a viable ORM" :) –  Jul 05 '12 at 21:07