eric nelson [email protected] (or )
TRANSCRIPT
Eric Nelson [email protected]://geekswithblogs.net/iupdateable (or http://bit.ly/ericnelson )http://twitter.com/ericnel http://twitter.com/ukmsdn
Developer EvangelistMicrosoft UK
Were you on twitter last Dec?http://twitter.com/ericnel
Agenda
Quick recap of the journey so farEntity Framework 4.0 Drill Down
Lots of demos
Object Relational Mapping
Many ORMs out thereNo clear “winner” = relatively little adoption of ORMDevelopers waiting on MicrosoftThen we shipped two ... hmmm
LINQ to SQL in Visual Studio 2008ADO.NET Entity Framework in Visual Studio 2008 SP1
ADO.NET Entity Framework Recap
Tools and services to create an Entity Data Model (EDM)
Conceptual to Mapping to StorageTools and services for consuming an Entity Data Model
LINQ to Entities, Object Services and Entity SQL
Together they address the “impedance mismatch”
ConceptualConceptual
MappingMapping
StorageStorage
Entity Data ModelEntity Data Model
Rows in Tables
Rows in Tables
Objects in ApplicationsObjects in
Applications
Entity Framework 1.0Too many pain points
The designer!Model First not supportedPoor support for Stored ProceduresNo Pluralization/SingularizationForeign Keys hiddenLazy Loading not supportedMissing LINQ Operators vs LINQ to SQLGenerated SQL unreadableNo support for Plain Old CLR ObjectsN-Tier difficult
Entity Framework 4.0 Removing the friction
Better Tools and Design ExperienceMore powerful/flexible runtimeAnd
Persistence Ignorance*Code Only*N-Tier*
Note:* Delivered in .NET Framework 4 and a separate download
Better Tools and Design Experience
Model FirstTemplated code generationStored ProceduresPluralization/Singularization Complex TypesBetter delete and search
Model First and Templated Code Generation
More powerful/flexible runtime
Lazy Loading (Deferred Loading in Beta 1 )Foreign Keys surfacedMore complete LINQ implementationExecuteStoreQueryEntityFunctions and SqlFunctionsImprovements to generated SQL
Deferred Loading, Functions, Generated SQL
http://blogs.msdn.com/adonet/archive/2009/08/05/improvements-to-the-generated-sql-in-net-4-0-beta1.aspx
Persistence Ignorance
First class support for Persistence Ignorance No modifications to your classes!
Persistence Ignorance
Code Only
Create the database from the classesNo modelConvention to config
Code Only
N-Tier
Self Tracking Entities
N-Tier
Entity Framework
The designer!No support for Plain Old CLR ObjectsNo Pluralization/SingularizationForeign Keys hiddenModel First not supportedLazy Loading not supportedMissing LINQ Operators vs LINQ to SQLGenerated SQL unreadableN-Tier difficultPoor support for Stored Procedures
Summary