building software to help our clients grow SINCE 1985 Entity Framework 4 and WCF Data Services 4 Max Weber - Senior Consultant www.tallan.com Presentation Goals Get started with Entity Framework 4 Get started with WCF Data Services 4 Create website iBlog Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 2 Presentation Agenda Entity Data Model Entity Framework 4 Open WCF up Visual Studio Data Services 4 Open up Visual Studio Summary / Questions Cake Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 What is the Entity Data Model? Entity Data Model The Entity Data Model (EDM) is a set of concepts that describe the structure of data, regardless of its stored form. The EDM borrows from the Entity-Relationship Model described by Peter Chen in 1976, but it also builds on the Entity-Relationship Model and extends its traditional uses. Extensions to E-R Model: Separation of the entities and relationships from their storage medium http://msdn.microsoft.com/en-us/library/ee382825.aspx Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 4 Entity Data Model Key Concepts Entity Type entity key, inheritance, entity Sets, entity container Association Type foreign key, multiplicity, navigation properties, association set, entity container Property Boolean, Int32, String DateTime, Guid, Binary Complex Types Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 5 Entity Framework Overview Entity Framework Overview Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 7 Entity Framework 4 Conceptual Model Storage Model Data Providers Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 8 Conceptual Model – Entity Framework 4 Conceptual schema definition language (CSDL) Conceptual model == Domain model .csdl file extension CSDL is Entity Framework’s implementation of the Entity Data Model Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 9 Storage Model – Entity Framework 4 Store schema definition language (SSDL) Storage model == Logical model Storage models are provider-specific .ssdl file extension Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 10 Mapping Concepts to Storage – EF4 Mapping specification language (MSL) Maps between conceptual and storage models .msl file extension Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 11 Providers – Entity Framework 4 EF uses the ADO.NET Data Provider model Providers MS SQL Server Indirect access to other DBs using ODBC, OLEDB VistaDB Devart OpenLink Software Synergy …5+ more ADO.NET Data Providers List http://msdn.microsoft.com/en-us/data/dd363565.aspx Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 12 Entity Data Model Tools Entity Data Model Wizard ADO.NET Entity Data Model Designer Update Model Wizard Command line tool EDM Generator (EdmGen.exe) Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 13 Class Generation – Entity Framework T4 Templates used to generate Entity classes from CSDL Entities based on EntitySet Tied Plain to .NET, System.Data Old CLR Objects (POCO) Need POCO extension from Visual Studio Gallery POCO Proxy Extensions from Visual Studio Gallery ADO.NET POCO Entity Generator Tangible T4 Editor Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 14 Code Time! – Entity Framework 4 Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 15 Entity Framework: Recap Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 16 WCF Data Services Formerly .NET Data Services (aka Astoria) Description: WCF Data Services enables creation and consumption of data services for the Web or an intranet by using the Open Data Protocol (OData). Architecture Overview : WCF Data Services RESTful work – WCF Data Services Exposes data as resources (URI) http://localhost/Northwind.svc/Customers(‘ALFKI’) http://localhost/Northwind.svc/Customers('ALFKI')/Orders ?$filter=Freight gt 50 Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 19 Open Data Protocol (OData) Definition OData enables you to expose your data as resources that are addressable by URIs Enables you to access and change data by using the semantics of representational state transfer (REST) Standard HTTP verbs supported: GET, PUT, POST, DELETE. Reference: WCF Data Services Overview http://msdn.microsoft.com/library/cc668794.aspx Output Formats – WCF Data Services Atom JSON XML Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 21 Freedom of data source – WCF Data Services Entity Framework Provider Uses Entity Data Models to structure access Reflection Provider Exposes data structures with interface IQueryable Create/Update/Delete with interface IUpdatable Custom Roll Link Provider your own to WCF Data Services Providers http://msdn.microsoft.com/en-us/library/dd672591.aspx Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 22 Custom Business Logic – WCF Data Services Service Act Operators at a service level Interceptors Act at an entity set level Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 23 Client Libraries – WCF Data Services WCF Data Services Client Library .NET Framework Silverlight OData SDK Javascript (AJAX) PHP Java Ruby Windows Phone 7 (not yet released) Objective-C (iPhone) (not yet released) Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 24 Code Time! – WCF Data Services Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 25 WCF Data Services Atom feeds in IE OOTB IE Experience with WCF DS Atom feeds bad Make this change to see Atom feeds properly: Tools-> Internet Options -> Feeds and Web Slices (Settings) Uncheck “Turn on feed reading view” Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 26 Recap: WCF Data Services In Summary Entity Data Model Entity Framework 4 Conceptual Model Storage Model Class generation using T4 Templates WCF Data Services 4 OData v2 RESTful services Multiple Data Providers Multiple Output formats Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 28 Distribution of slide deck This slide deck will be made available from the following locations: Tallan blogs - blogs.tallan.com CTDOTNET – www.ctdotnet.org Resources and Questions? Then Cake Visual Studio Gallery Visual Studio - Entity Framework 4.0 and WCF Data Services 4.0 in Visual Studio 2010 What's New and Cool in Entity Framework 4.0 – DevelopMentor ADO.NET Entity Framework Entity Framework At-a-Glance WCF Data Services WCF Data Services Overview WCF (ADO.NET) Data Services At-a-Glance Data Development Videos Programming Entity Framework Don't Be Iffy (Julie Lerman) It’s time for cake! Tallan, Inc. Proprietary and Confidential. Copyright 2010. 4/8/2015 31