Marco Russo

.NET, Business Intelligence e dintorni

News

Microsoft SQL Server & Business Intelligence Conference 2010

Torino Technologies Grou

Corsi

Libri

Miei blog in inglese

Archives

Discussioni su ADO.NET Entity Framework

Un argomento caldo in questi giorni è il futuro di ADO.NET Entity Framework. Durante TechEd Developers a Orlando si è parlato molto di ADO.NET Entity Framework, molto meno di LINQ to SQL (che ora non è più in carico al team di C# ma a quello di ADO.NET, che è lo stesso che sviluppa Entity Framework - ma questo sarebbe oggetto di un altro discorso che farò quando capirò anche io i piani che hanno realmente). Per molti aspetti, Entity Framework è un ORM molto giovane, ma è fatto da Microsoft, e questo di per sé ne garantirà un uso diffuso.

A causa delle limitazioni esistenti in questa prima versione, è nata una "mozione di sfiducia" (non so come tradurla diversamente) firmata da poco meno di 300 persone (a oggi). Ad ogni modo, non sono numeri così piccoli. Tim Mallalieu ha risposto a queste critiche e il team di Entity Framework ha inaugurato un blog dedicato alla progettazione e sviluppo della versione 2.0 di Entity Framework.

Personalmente, pur non essendo un forte sostenitore di questa tecnologia, credo di comprendere quale sia il problema di fondo. Alcuni (ma forse molti) considerano ADO.NET Entity Framework come un tool di ORM da comparare con tool simili, come NHibernate. Per Microsoft, non è solo questo. Uno dei punti chiave nella visione di Microsoft è che Entity Framework sia un layer di astrazione sul modello dei dati utilizzabile non solo da programmi scritti in C#/VB/ecc., ma anche da tool di reportistica che rappresentano il modello di entità direttamente all'utente finale che vuole realizzare i suoi report. Io non sono così convinto che sia possibile avere un approccio simile nel 100% dei casi, ma devo ammettere che in molte situazioni questa possibilità è adeguata alle esigenze. Nutro forti dubbi sul fatto che possano amalgamare anche i modelli multidimensionali all'interno di Entity Framework (è una cosa che hanno annunciato di voler fare, anche se a oggi non c'è alcuna traccia di feature che vadano in questa direzione) e il rischio latente è che questa visione "universale" porti a fare scelte nell'adozione di questa tecnologia basate sull'attesa di funzionalità future, che chissà se e quando arriveranno.

Ciò detto, ripeto, il fatto di poter supportare un ambiente di reportistica direttamente da Entity Framework giustifica, in effetti, la necessità di avere un proprio linguaggio di interrogazione (Entity SQL) che non sarebbe necessario usando LINQ to Entities. Il vero problema è decidere se e quando usare questa tecnologia. Oggi come oggi, io sarei cauto e inizierei qualche sperimentazione (soprattutto in scenari dove si può sfruttare la capacità di essere un layer di astrazione superiore e non solo un ORM), senza però fare già scelte definitive. In fondo, è (ancora per poco) un prodotto in Beta.

PS: Forse sta passando di moda il politically correct. Un post che riprende il tema della mozione di sfiducia è questo di Dinesh Kulkarni, a suo tempo (ma ora non più) coinvolto nello sviluppo di LINQ to SQL. Dissacrante e divertente, basta essere disposti a fare un po' di auto-ironia.

Comments

StefanoPaparesta said:

Sto seguendo la polemica e sto cercando di capire che fare nel prossimo futuro. Non riesco a mettere a bene a fuoco che fare nei prossimi mesi. Per alcune soluzione "semplici" pensavo di usare Linq to Sql, secondo voi quando avremo la prossima versione del framework ci sarà ancora o verrà inglobato in un nuovo framework di peristenza ? Ha senso investire oggi in ADO.net Entity Framework oppure è meglio aspettare la v2 e nel frattempo guardiamo ad NHibernate ?? Sto finendo Programming LINQ, bellissimo libro, Linq to sql è semplice però lo trovo interessante e spero che nel futuro trovi ancora spazio, Ado.net framework invece ho paura che non sia la scelta giusta e che quindi sia meglio investire in NHibernate 2.0.

# luglio 1, 2008 11:48

paolocosta said:

Mi permetto, io ormai da un anno uso LLBLGENPRO e passare a Entity Framework o a NHibernate non mi passa neanche per l'anticamera del cervello. Adesso nella versione 2.6 ha anche il LINQ provider per un bel po' di DBMS.

# luglio 1, 2008 3:35

marco said:

Stefano: sono contento che il libro ti piaccia. Ora vado a scrivere un post su quando usare LINQ to SQL.

Paolo: mi piacerebbe avere un feedback su LlblGenPro, sono sempre stato curioso di saperne qualcosa da chi lo usa day-by-day - scrivimi a marco (at) devleap (punto) com

# luglio 3, 2008 1:36

Marco Russo said:

Un commento al mio post precedente su ADO.NET Entity Framework contiene la domanda fatidica: che fine

# luglio 3, 2008 2:00

Un’altro tassello da Microsoft - "ADO.NET Entity Framework" « Newprot’s Weblog said:

Pingback from  Un’altro tassello da Microsoft - "ADO.NET Entity Framework" « Newprot’s Weblog

# agosto 12, 2008 7:52

1969 Barracuda Convertible Sale Four Speed, Barracuda Ranger Buy Cleans said:

Pingback from  1969 Barracuda Convertible Sale Four Speed, Barracuda Ranger Buy Cleans

# maggio 20, 2010 8:07

C3500 2nd Hand, C30 C3500 Pickup Bid said:

Pingback from  C3500 2nd Hand, C30 C3500 Pickup Bid

# maggio 20, 2010 10:02

Es350 Oem Wheels Rims, Es350 Double said:

Pingback from  Es350 Oem Wheels Rims, Es350 Double

# maggio 20, 2010 10:29

1998 Ford Contour Radiator Bi Fuel, Kolcraft Contours Options 3 Wheeler Travel System said:

Pingback from  1998 Ford Contour Radiator Bi Fuel, Kolcraft Contours Options 3 Wheeler Travel System

# maggio 21, 2010 1:39

Rd200 Guitar Chords, Rd2000 Lighting said:

Pingback from  Rd200 Guitar Chords, Rd2000 Lighting

# maggio 21, 2010 3:56

17 Mile Drive Santa Cruz Monterey Carmel, Used Monterey For Sale Grand Marquis Mercury Villager said:

Pingback from  17 Mile Drive Santa Cruz Monterey Carmel, Used Monterey For Sale Grand Marquis Mercury Villager

# maggio 21, 2010 6:32

Dodge Ramcharger Commercial, C35 C3500 Ram Radiator Oldsmobile Bravada Dodge Ramcharger said:

Pingback from  Dodge Ramcharger Commercial, C35 C3500 Ram Radiator Oldsmobile Bravada Dodge Ramcharger

# maggio 21, 2010 7:12

Cheap Bobcats Nba, Bobcat S220 Skid Steer Loader said:

Pingback from  Cheap Bobcats Nba, Bobcat S220 Skid Steer Loader

# maggio 21, 2010 7:21

Ml55 Pt Camry, 2002 Engine 2006 Toyota Camry said:

Pingback from  Ml55 Pt Camry, 2002 Engine 2006 Toyota Camry

# maggio 21, 2010 7:45

Car Power Inverter 100watt, 1992 Mazda B2600 Pickup said:

Pingback from  Car Power Inverter 100watt, 1992 Mazda B2600 Pickup

# maggio 21, 2010 12:13

P35 P2500 Vancouver Fog Light, Vancouver Discount Gmc P25 P2500 Van Silverado 1500 said:

Pingback from  P35 P2500 Vancouver Fog Light, Vancouver Discount Gmc P25 P2500 Van Silverado 1500

# maggio 21, 2010 12:56

Bulb Valiant Art, 1964 Valiant Fender said:

Pingback from  Bulb Valiant Art, 1964 Valiant Fender

# maggio 21, 2010 9:08

Pb150 Replacement Part Number, B1500 Used Transmissions Dodge Stratus said:

Pingback from  Pb150 Replacement Part Number, B1500 Used Transmissions Dodge Stratus

# maggio 21, 2010 10:55

Discount High Quality Wheel Mercury Ln7, Used Ln7 Car Pictures Mercury Lynx said:

Pingback from  Discount High Quality Wheel Mercury Ln7, Used Ln7 Car Pictures Mercury Lynx

# maggio 22, 2010 3:21

Pb100h Zone Vent, Pb100 Headlight Lamps Voyager Pb150 Voyager Pb150 Signal Lights said:

Pingback from  Pb100h Zone Vent, Pb100 Headlight Lamps Voyager Pb150 Voyager Pb150 Signal Lights

# maggio 22, 2010 5:54

Toyota 4runner Stereo Installation, Discount Parts Store Toyota 4runner said:

Pingback from  Toyota 4runner Stereo Installation, Discount Parts Store Toyota 4runner

# maggio 22, 2010 7:58

Mazda B4000 Replacement Rx 8 Miata Mx5, Mx518 Review Fly said:

Pingback from  Mazda B4000 Replacement Rx 8 Miata Mx5, Mx518 Review Fly

# maggio 22, 2010 4:31

Oldsmobile Achieva Headlight Assembly Cutlass Supreme Fog Light, Achieva Episode said:

Pingback from  Oldsmobile Achieva Headlight Assembly Cutlass Supreme Fog Light, Achieva Episode

# maggio 22, 2010 5:30

Amazon 1984 Oldsmobile Regency, 92 Regency Oldsmobile Eighty Eight said:

Pingback from  Amazon 1984 Oldsmobile Regency, 92 Regency Oldsmobile Eighty Eight

# maggio 22, 2010 5:57

College Lacrosse Championships, Second Hand Lacrosse Gear said:

Pingback from  College Lacrosse Championships, Second Hand Lacrosse Gear

# maggio 22, 2010 6:31

Crossfire Wamp, Change Brake Pads Chrysler Crossfire said:

Pingback from  Crossfire Wamp, Change Brake Pads Chrysler Crossfire

# maggio 22, 2010 7:12

B4000 Headlight B3000 Mazda B2500, Headlight Aftermarket Parts Mazda B2500 said:

Pingback from  B4000 Headlight B3000 Mazda B2500, Headlight Aftermarket Parts Mazda B2500

# maggio 22, 2010 7:15

Belling 100 Df, 100 Year Trade said:

Pingback from  Belling 100 Df, 100 Year Trade

# maggio 22, 2010 7:51

Atlantic Blue Jeep Liberty, Ranger Jeep said:

Pingback from  Atlantic Blue Jeep Liberty, Ranger Jeep

# maggio 22, 2010 9:50

960 Pt, 1960 Imperial Convertible said:

Pingback from  960 Pt, 1960 Imperial Convertible

# maggio 22, 2010 10:27

Impulse Water Pump, Smart Parts Impulse For Sale Max Flo said:

Pingback from  Impulse Water Pump, Smart Parts Impulse For Sale Max Flo

# maggio 23, 2010 12:22

Dakota Roast Coffee, Dakota County Library Burnsville said:

Pingback from  Dakota Roast Coffee, Dakota County Library Burnsville

# maggio 23, 2010 2:12

P25 Replacement Promo, P25 P2500 Van Radiator Buy Brand said:

Pingback from  P25 Replacement Promo, P25 P2500 Van Radiator Buy Brand

# maggio 23, 2010 3:02

93 Supra Sale, 1993 Supra Parts - 192.ja3ra.com said:

Pingback from  93 Supra Sale, 1993 Supra Parts - 192.ja3ra.com

# maggio 23, 2010 5:52

1985 Chrysler Laser Xt, Laser Beam Sale - 280.akemet.com said:

Pingback from  1985 Chrysler Laser Xt, Laser Beam Sale - 280.akemet.com

# maggio 23, 2010 7:45

Is350 Design, Cdw Is350 - 437.binggreen.com said:

Pingback from  Is350 Design, Cdw Is350 - 437.binggreen.com

# maggio 23, 2010 7:56

Buy E 350 Econoline Digital, 1963 Ford Econoline Van Parts - 91.rkwrh.com said:

Pingback from  Buy E 350 Econoline Digital, 1963 Ford Econoline Van Parts - 91.rkwrh.com

# maggio 23, 2010 11:15

New Hyundai Sonata 2010, 2001 Hyundai Sonata Sale Chevrolet Malibu - 332.tgrconversions.com said:

Pingback from  New Hyundai Sonata 2010, 2001 Hyundai Sonata Sale Chevrolet Malibu - 332.tgrconversions.com

# maggio 23, 2010 11:33

Infiniti M30 Sale Newspaper, Armada M300 Battery Pinout - 479.myipgirl.com said:

Pingback from  Infiniti M30 Sale Newspaper, Armada M300 Battery Pinout - 479.myipgirl.com

# maggio 23, 2010 11:39

1995 Nissan Pathfinder Engine Diagram, Pathfinder Grand - 198.animejin.com said:

Pingback from  1995 Nissan Pathfinder Engine Diagram, Pathfinder Grand - 198.animejin.com

# maggio 23, 2010 2:43

E 320 E550 E63 Amg, Pw E550 Best Buy - 71.akemet.com said:

Pingback from  E 320 E550 E63 Amg, Pw E550 Best Buy - 71.akemet.com

# maggio 23, 2010 3:36

350sl Pt Mercedes Benz 450sl, 450slc Custom 380sl - 278.tgrconversions.com said:

Pingback from  350sl Pt Mercedes Benz 450sl, 450slc Custom 380sl - 278.tgrconversions.com

# maggio 24, 2010 1:49

Mdx Rdx Used Tl Acura Dealer, Acura Rdx Headlight - 313.mfbattle.com said:

Pingback from  Mdx Rdx Used Tl Acura Dealer, Acura Rdx Headlight - 313.mfbattle.com

# maggio 24, 2010 6:18

Sale Bmw B200 Cdi, Buy Pb200 Model Bp - 412.binggreen.com said:

Pingback from  Sale Bmw B200 Cdi, Buy Pb200 Model Bp - 412.binggreen.com

# maggio 24, 2010 9:19

L300 3 Aftermarket Offer Hi, L300 3 Toll Aftermarket - 395.luna-atra.net said:

Pingback from  L300 3 Aftermarket Offer Hi, L300 3 Toll Aftermarket - 395.luna-atra.net

# maggio 24, 2010 9:25

Clk430 Oem Cls55 Clk63 Amg, Clk430 Reviews - 475.jordanbrandallamerican.com said:

Pingback from  Clk430 Oem Cls55 Clk63 Amg, Clk430 Reviews - 475.jordanbrandallamerican.com

# maggio 24, 2010 11:23

Pontiac J2000 Auto Fit, 1978 Jeep J20 Parts Fit - 325.1fh.org said:

Pingback from  Pontiac J2000 Auto Fit, 1978 Jeep J20 Parts Fit - 325.1fh.org

# maggio 25, 2010 2:13

Aveo Car Parts, Trailblazer For Sale Aveo5 Chevrolet Monte Carlo - 205.tvshowzone.com said:

Pingback from  Aveo Car Parts, Trailblazer For Sale Aveo5 Chevrolet Monte Carlo - 205.tvshowzone.com

# maggio 25, 2010 9:01

1975 Plymouth Valiant Parts, 1965 Plymouth Valiant For Sale - 349.rkwrh.com said:

Pingback from  1975 Plymouth Valiant Parts, 1965 Plymouth Valiant For Sale - 349.rkwrh.com

# maggio 25, 2010 9:53