webForumDet fria alternativet

Linq to SQL vs entity framwork

7 svar · 1 294 visningar · startad av cok

cokMedlem sedan dec. 2005664 inlägg
#1

Hallå,

Vet någon hur det ser ut med ovan komponenter.

Om jag hajat rätt kommer Entity-frameworket släppas med SP1 till 2008/.NET 3.5. Är det någon som har litet hum om ungefär när?

Kommer Linq To SQL läggas ner eller kommer detta utvecklas vidare?

CatZMedlem sedan jan. 20022 440 inlägg
#2

Jag har använt mig av Entity Framework i 8 månader och det har fungerat klockrent! LINQ to SQL kommer inte läggas ner men förmodligen inte vidareutvecklas något mer heller direkt. Däremot så kommer LINQ finnas kvar. Du kan köra LINQ mot i princip vad som helst. Filer, xml, dataset, entitiy framework mfl mfl.

Du kan till och med ställa LINQfrågor mot amazon om du vill. I LINQ to SQL så är det svårare att göra avancerade metoder för arv och egna klasser. Du måste generera din "Modell" från databasen.

Jag vet att många är negativa till Entity Framework. Själv tycker jag det är det bästa som hänt sedan .NET lanserades.

NickemannenMedlem sedan aug. 20003 575 inlägg
#3

Jag har varit skeptisk mot Entity Framework p.g.a. jag tycker att NHibernate är ett bättre alternativ. Läste ett intressant bloginlägg häromdagen där man beskriver problemen och det som saknas i Entity Framework samt varför dom inte tror att detta kommer att återgärdas i framtiden.

Om man tittar på namnen av författarna så förstår man att det inte är någon som bara inte gillar Microsoft eller amatörer som skriver det.

Själv har jag inte arbetat med Entity Framework bara kollat hur det fungerar i lite tutorials och läst artiklar om det.

Här är länkarna:

Sammanfattning om vad artikeln handlar om.
http://weblogs.asp.net/bsimser/archive/2008/06/23/ado-net-enity-framework-vote-of-no-confidence.aspx

Mer i detalj vad som saknas.
http://efvote.wufoo.com/forms/ado-net-entity-framework-vote-of-no-confidence/

GladhMedlem sedan maj 20012 812 inlägg
#4

CatZ skrev:

Jag vet att många är negativa till Entity Framework. Själv tycker jag det är det bästa som hänt sedan .NET lanserades

Nu var det ett tag sedan jag tittade på EF, men det jag reagerade på var hur komplicerat och onödigt svårt det var att ta mina egna entiteter som jag har i ett projekt och få EF att acceptera dessa för att hämta och lämna data.

I min värld skall det räcka med att jag sätter några attribute/ärver från en basklass/implementerar ett interface för att EF skall använda mina entiter. Men det var bra mycket mer komplicerat än så, sa jag la ner det och hoppades att MS hade tänkt lite mer på folk med Modell-First scenario istället för som då DataBase-First secenario. Är det något som är ändrat nu?

Själv så behöver jag inte så avancerad OR-Mapper, utan skulle faktist nöja mig med en som vara optimerad för att Hämta/Spara data till databasen, så får jag själv hantera saker som LazyLoading och Transaktioner osv osv... Men det skall vara enkelt att implementera sina egna entiter...

- M

CatZMedlem sedan jan. 20022 440 inlägg
#5

Jo som sagt model-first fungerar inte än i alla fall. Det förmodligen lösa själv om man vill. Det är bara att skriva sin egen entity provider.

Säger inte att det är en komplett lösning för alla men för mig som programmerar för egen del samt är en av tre .net utvecklare på arbetsplatsen är entity framework en helt underbar lösning. Eftersom jag har bra koll på hur man modellerar databasen men inte har tid att skriva alla förbannade stored procedures osv så är EF framtiden. Visst vore vi 10-20 utvecklare med massor av tid att programmera "best-practice" lösningar åt våra kunder så skulle jag förmodligen inte tveka på att se mig om efter en annnan lösning men då jag även är Systemadministratör både på kontoret och för alla system vi sätter upp hos våra kunder kan jag ärligt säga att det finns inte något snabbare sätt att nå resultat när det gäller att persistera data.

Använd Entity Framework för att hämta en lista med data, bind den till din winform control, gör ändringar skicka in listan i en funktion som loopar igenom och sparar varje entitet i en partial class på någon av dina entiteter från modellen. Färdigt!

Är det däremot viktigare att hålla en domänmodell osv så ska man definitivt se sig om efter en bättre lösning förmodligen NHibernate. Frågan var dock vilket man skulle välja av LINQ to SQL eller Entity Framework och då säger jag att det finns inga alternativ. LINQ är numera inte LINQ to SQL utan ett framework i frameworket för att ställa syntax-kollade frågor istället för att chansa och stöta på patrull när du kör skarpt.

GladhMedlem sedan maj 20012 812 inlägg
#6

Läste faktiskt igår att v2 av EF kommer att vara POCO, och därmed så kommer jag ju få som jag vill, vilket gör att det faktiskt kan bli riktigt intressant med EF när väl v2 kommer ut om ett år eller så. Sedan har de ju en liten bit kvar till NHibernate ändå. Men integrationen mot VS kommer vara så mycket bättre i EF att efter v" så kommer många fler att börja använda det och inom några år efter det så kommer EF vara den stora OR-Mappern som de flesta nya projekt kommer använda sig av...

http://blogs.msdn.com/efdesign

- M

NickemannenMedlem sedan aug. 20003 575 inlägg
#7

Kan bli intressant men även vid version 2 kommer de ha en del kvar.
Så vi får se när det är dags att gå över.

erkaMedlem sedan dec. 19996 522 inlägg
#8

MS har ju satt samman en diskussion med med Eric Evans, Jimmy Nilsson med flera för att diskutera DDD i förhållande till EF. Problemet ligger väll i att Anemic Domain Model ses av många som ett antipattern vilket inte går ihop med DDD. Man kan ju hoppas de lyssnar på vad DDD-communityt har att säga.

135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)