Learn about how object-relational mapping works to provide data access and understand what the Entity Framework is and how it can provide robust data access services to applications.
This is an introduction session about Microsoft Entity Framework 4.0 (year 2011), since then the technology has evolved and matured in many ways and some of the limitations had been mitigated.
Learn Entity Framework in a day with Code First, Model First and Database FirstJibran Rasheed Khan
Learn Entity Framework in a day with Code First, Model First and Database First
•Introduction to Entity Framework (EF)
•Architecture
•What’s new!
•Different approaches to work with (Code first, Database first and model first)
•Choosing right work model
•Pictorial Tour to each model
•Features & Advantages
•Question & Answer
for any help and understanding feel free to contact
thank you
Learn about how object-relational mapping works to provide data access and understand what the Entity Framework is and how it can provide robust data access services to applications.
This is an introduction session about Microsoft Entity Framework 4.0 (year 2011), since then the technology has evolved and matured in many ways and some of the limitations had been mitigated.
Learn Entity Framework in a day with Code First, Model First and Database FirstJibran Rasheed Khan
Learn Entity Framework in a day with Code First, Model First and Database First
•Introduction to Entity Framework (EF)
•Architecture
•What’s new!
•Different approaches to work with (Code first, Database first and model first)
•Choosing right work model
•Pictorial Tour to each model
•Features & Advantages
•Question & Answer
for any help and understanding feel free to contact
thank you
Entity Framework, Code First, Database First, TPH, TPT, TPC. Table Per Type, Table Per Hierarchy, Table Per Concrete Class, EF Concurrency, EF Relationship, Code First Conventions
Back-2-Basics: .NET Coding Standards For The Real WorldDavid McCarter
This session will guide any level of programmer to greater productivity by providing the information needed to write consistent, maintainable code. Learn about project setup, assembly layout, code style, defensive programming and much, much more. We will even go over some real in production code and see what the programmer did wrong in "What's Wrong With this Code?". Code tips are included to help you write better, error free applications. Lots of code examples in C# and VB.NET.
Building nTier Applications with Entity Framework Services (Part 2)David McCarter
Learn how to build real world nTier applications with the new Entity Framework and related services. This second part to the series will focus on using the Entity Framework in an nTier/ SOA world by separating out the different layers using T4 templates and using the new WCF Data Services to easily expose entity models via REST and to Silverlight clients.
We're in a data-driven economy. Web API designers need to define what and how to expose data from a variety of apps, services, and stores. What are challenges of unlocking data and opening up access in a straightforward and standards-compliant manner? Is OData the right tool for the job?
Join Anant, Brian, and Greg for a discussion of OData, its API design implications, and the pros and cons of OData as an enabler of data integration and interoperability across Data APIs.
We Will Discuss »
- OData, SQL, and the "RESTification" of data - providing a uniform way to expose, structure, query and manipulate data using REST principles.
- Opportunity and challenges for OData.
- The questions of Web standards and proprietary versus open tools and protocols.
Entity Framework, Code First, Database First, TPH, TPT, TPC. Table Per Type, Table Per Hierarchy, Table Per Concrete Class, EF Concurrency, EF Relationship, Code First Conventions
Back-2-Basics: .NET Coding Standards For The Real WorldDavid McCarter
This session will guide any level of programmer to greater productivity by providing the information needed to write consistent, maintainable code. Learn about project setup, assembly layout, code style, defensive programming and much, much more. We will even go over some real in production code and see what the programmer did wrong in "What's Wrong With this Code?". Code tips are included to help you write better, error free applications. Lots of code examples in C# and VB.NET.
Building nTier Applications with Entity Framework Services (Part 2)David McCarter
Learn how to build real world nTier applications with the new Entity Framework and related services. This second part to the series will focus on using the Entity Framework in an nTier/ SOA world by separating out the different layers using T4 templates and using the new WCF Data Services to easily expose entity models via REST and to Silverlight clients.
We're in a data-driven economy. Web API designers need to define what and how to expose data from a variety of apps, services, and stores. What are challenges of unlocking data and opening up access in a straightforward and standards-compliant manner? Is OData the right tool for the job?
Join Anant, Brian, and Greg for a discussion of OData, its API design implications, and the pros and cons of OData as an enabler of data integration and interoperability across Data APIs.
We Will Discuss »
- OData, SQL, and the "RESTification" of data - providing a uniform way to expose, structure, query and manipulate data using REST principles.
- Opportunity and challenges for OData.
- The questions of Web standards and proprietary versus open tools and protocols.
In data Mercoledì 13 Giugno 2012 in aula 4, dalle 9:00 alle 10:30,il dott. Alessandro Forte della T.&C. Systems Group s.r.l. ha tenuto un seminario sull'Object-Relational Mapping.
Il dott. Forte è attualmente SW Architect per la T.&C. Systems Group s.r.l. e speaker certificato Microsoft Italia.
Si è trattato di un'importante occasione per affacciarsi a nuovi argomenti di interesse del mondo produttivo e allo stesso tempo entrare in contatto con una società attiva sul territorio. Si ringrazia il prof. Antonio Maratea per l'occasione concessa e la disponibilità dimostrata.
This presentation talks about dependecy injection, an architectural design pattern that aims to help developer to resolve dependencies between objects. Starting by describing general problem of dependecy resolution, the presentation continues presenting Inversion of Control (IoC) pattern, constructor injection and setting injection. As examples, some frameworks and libraries are reported, such as:
- Google Guice
- Spring framework
- AngularJS
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
This presentation talks about the five SOLID principles of Object Oriented Design described by Rober C. Martin in his best-seller book "Agile Principles, Patterns, and Practices in C#". The five principle described are:
- Single Responsibility Principle
- Open-Close Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...Bill Buchan
Co-presented with Jens Augustini
Object Oriented Programming (OOP) may drastically reduce your coding time in projects that reach a higher degree of complexity, as it brings re-usable and consistent logic in the form of your own objects to your fingertips. This session will show how to create and use your own classes and how they can relate to the LotusScript Object Model. If you are familiar with LotusScript but don't know how to create your own classes, this session is for you!
Building nTier Applications with Entity Framework Services (Part 1)David McCarter
Learn how to build real world nTier applications with the new Entity Framework and related services. With this new technology built into .NET, you can easily wrap an object model around your database and have all the data access automatically generated or use your own stored procedures and views. The session will demonstrate how to create and consume these new technologies from the ground up and focus on database modeling including views and stored procedures along with coding against the model via LINQ. Dynamic data website will also be demonstrated.
Building nTier Applications with Entity Framework Services (Part 1)David McCarter
Learn how to build real world nTier applications with the new Entity Framework and related services. With this new technology built into .NET, you can easily wrap an object model around your database and have all the data access automatically generated or use your own stored procedures and views. The session will demonstrate how to create and consume these new technologies from the ground up and focus on database modeling including views and stored procedures along with coding against the model via LINQ. Dynamic data website will also be demonstrated. Lots of code! Make sure to attend Part 2.
Building N Tier Applications With Entity Framework Services 2010David McCarter
Learn how to build real world nTier applications with the new Entity Framework and related services introduced in .NET 3.5 SP1. With this new technology built into .NET, you can easily wrap an object model around your database and have all the data access automatically generated or use your own stored procedures and views. Then learn how to easily and securely expose your object model using WCF with just a few line of code using ADO.NET Data Services. The session will demonstrate how to create and consume these new technologies from the ground up. Lots of code!
Patterns (contd)Software Development ProcessDesign patte.docxdanhaley45372
Patterns (contd)
Software Development Process
Design patterns used to handle change
More time extending and changing code than developing it.
The Strategy design pattern handle change by selecting from a family of external algorithms rather than rewrite.
Design point: Make code closed for modification of code, but open for extension
Problem
Computer object created
Description Method returns
Getting a Computer
Problem
Program has to change every time
Customer changes options
Decorator Pattern
Wrapper code used to extend your core code
Extend a class dynamically at runtime
Decorator uses wrapper code to extend core functionality - decorating the code
Decorator Pattern
description() returns “You are getting a computer”
Wrapper description() returns
“You are getting a computer and a disk”
Wrapper description() returns
“You are getting a computer and a disk and a monitor”
Decorator Pattern
Core component: Computer
Variables holding computer objects should also be able to hold objects that wrap computer objects.
Extend the wrapper classes from the Computer class.
Abstract class cannot be instantiated
Ensures all wrappers are consistent
Developers have to provide their own description
Decorator Pattern
Method calls the core computer object’s
description method and adds “and a disk”
Decorator Pattern
Method calls the core computer object’s
description method and adds “and a disk”
Extend the core object by wrapping it in decorator wrappers. Avoids modification of the core code.
Each successive wrapper called the description method of the object it wrapped and added something to it.
Factory Pattern
Based on type, call the
Connection method
Factory Pattern
Create a method that returns the
correct connection type
Factory Pattern
New operator used to create OracleConnection objects.
New operator used to create SqlServerConnection objects, and MySqlConnection objects.
New operator to instantiate many different concrete classes
Code becomes larger and needs to be replicated in many places
Factor that code out into a method.
Code keeps changing
Encapsulate code into a factory object
Goal: Separate out the changeable code and leave the core code closed for modification
Building the Factory
Creating the Factory
FirstFactory class encapsulates the connection object creation
Pass to it the type of connection (“Oracle”, “SQL Server”,)
Use the factory object to create connection objects with a factory method named createConnection
Building the Factory
Create the FirstFactory class.
Save the type of the database, passed to the FirstFactory class’s constructor.
Object-creation code changes
Check which type of object to be created
(OracleConnection, SqlServerConnection,
and then create it.
Factory Class
Create the Abstract Connection Class
Core code should not be modified or has to be modified
as little as possible.
Using the connection object returned by the
new factory object
Use t.
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkDave Steinberg
EclipseCon 2008 long talk introducing EMF. A slightly different take from the preceding EclipseWorld talk, with a few more details on the EMF core and no discussion of CDO or Teneo.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
5. What is an O/RM? Object Relational Mapping An abstraction, a technique for converting data between incompatible type systems, the RDBMS and OOP (aka impedance mismatch), hiding the complexity of the underlying tables
6. Impedance.. what?? The object-relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a RDBMSis being used by a program written in an OOP language or style; (Wikipedia)
7. Why use an O/RM? Increase the Developer productivity Better, faster and less code than “average” developer Impedance mismatch Database Portability
8. O/RM is not… The solution for all our problems The fastest way to do anything A cool new stuff that we must have in our application (it won’t help us to hang out with our new sexy colleague or desk-mate )
10. The “managed” path to EF Typed Dataset – shipped ObjectSpaces v1, v2 – never shipped MS Business Framework – never shipped WinFS – never shipped LINQ to SQL – shipped (.Net 3.5) LINQ to Entities and Entity Framework v.1.0 – shipped (.Net 3.5 SP1) Entity Framework 4.0 – shipped (.Net 4.0)
11. The new kid on the block: Ado.Net Entity Framework EF is the O/RM in the .NET Framework Microsoft’s strategic technology Used in other Microsoft products: WCF Data services, Azure Table Storage, Sharepoint 2010, SQL Server Reporting Services and PowerPivot for Excel, … Big investment in this release (.Net 4.0) took the best from LINQ to SQL Database and ORM (!!!) vendors supporting it (IBM, OpenLink, DevForce, LLBLGen …)
12. What about my “old” ADO.Net code? ADO.NET Core provides the most control DataSets aren’t going away ADO.NET Core is the foundation of the Entity Framework Provider layer Incremental evolution for apps from ADO.NET Core to EF
15. What is Entity Framework? Data access framework Supports data-centric applications and services Enables programming against a conceptual application model Enables independency of any data storage engine or relational schema
17. EDM – Entity Data Model Invented by Dr. Peter Chen (1970s) and named ERM (Entity Relationship Model) ERM Conceptual Layer Mapping Layer Storage Layer Now: EDM in Entity Framework
18. Entity Data Model Comprised of three layers (CSDL, MSL, SSDL) Database agnostic Comprised of Entities, Associations, Functions
21. What’s new in EF4 Testibility with IObjectSet<T> Direct execution of Store Commands from ObjectContext Functions in LINQ to Entities queries OrderBy improvement in LINQ to Entities Customized Object-Layer code generation Entity Designer extensibility Entity Data Model Wizard improvement (naming service) … Entity Framework Futures Pluralization Foreign Keys in the Conceptual Model Stored Procedures Self tracking Entities and new methods for N-Tier App. Dev. Model First Complex Types Model Defined Functions Code Generation Persistence Ignorance Lazy Loading Code Only EntityDataSource support for QueryExtendercontrol
22. Code Generation (T4) Entity Framework 4 shipped with a number of T4 code-generation templates which you can customize or replace with your own. (T4 is a code-generation technology built into Visual Studio 2008 or later) The whole point of using T4 for code-generation is that it makes easy to customize the generated entities, like when we need to add some particular validation on setting up entity properties.
23. Entity Designer Improvements Complex Type support Create complex types in your Model Foreign Keys Optionally include foreign keys in your model Pluralization Better naming management of the Entity Set
24. Entity Designer Improvements Model First: first design then create the DB! Start with an Empty Model and create you concept model (or Domain Model) adding Entities and Associations. Then ask EF4 to create the DB.
26. EF4 creating models Recap Start with the database … … and then generate the model + code Scenario: DB already exists, or you want low level control over it How to: Import model into edmx and tweak Start with an edmx model … … and then generate the database + code Scenario: You want separation from code and database in a declarative format How to: Create a model in the designer Start with .net classes … … and then generate the database + model Scenario: Primarily focused on code shape, database is an implementation detail How to: Define classes in code and then adjust shape using contextbuilder
27. EF Model Mapping capabilities Inheritance Table per Hierarchy Table per Type Table per Concrete Type Hybrids Many entities to one table Stored Procedures Many tables to one entity Abstract Entities Associations within EntitySets Associations across EntitySets Store-side discriminators EDM-side discriminators QueryViews, Defining Query, CommandText
29. EF4 Patterns Repository, Unit of Work, Identity Map POCO (Plain Old CLR Object) and Proxies Lazy/Deferred Loading Foreign Keys Object Set and Testability
30. Repository Pattern “Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects” Why do I need it? Separation of concerns Greater control Easier testability Howto: Simple class & interface Just a collection Business logic, UI, etc. Data Access Framework Database
32. Repository Pattern Recap Repositories are easy with EF! Best Practices: Make the repository’s interface as simple as possible Create separate repositories for each “aggregate” Keep other layers “persistence ignorant” Multiple repositories can share same ObjectContext as “unit of work” Popular additions: Query methods return IQueryable<T> (be careful, you could query your entities on the UI with this) Using “specification pattern”, e.g. repository.Find(c=>c.Id == id) Repository<T> base class (don’t repeat yourself)
33. Unit of Work Pattern “Maintains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems.” It means that a Unit of Work is a context/session/unit object that tracks the changes of business entities during one business transaction. public interface IUnitOfWork<T>{ void RegisterNew(T entity); void RegisterDirty(T entity); void RegisterClean(T entity); void RegisterDeleted(T entity); void Commit(); }
34. POCO & Persistence Ignorance With EF4 you can now define your own objects that are completely decoupled from persistence concerns. These objects don’t need to be a sub class of EntityObject or to implement a set of IPOCO interfaces (i.e. IEntityWithKey, IEntityWithChangeTrackerand IEntityWithRelationships), like it was with the previous version of EF.
35. Example of POCOs in EF4 public class Order { public intOrderID { get; set; } public Customer Customer { get; set; } public DateTimeOrderDate { get; set; } } public class Customer { public string CustomerID { get; set; } public string ContactName { get; set; } public string City { get; set; } public List<Order> Orders { get; set; } }
36. Adding POCOs to the Context public class MyContext: ObjectContext { private ObjectSet<Category> _categories; private ObjectSet<Product> _products; public MyContext() : base("name=MyEntities", “MyEntities") { _categories = CreateObjectSet<Category>(); _products = CreateObjectSet<Product>(); } public ObjectSet<Category> Categories { get { return _categories; } } public ObjectSet<Product> Products { get { return _products; } } }
37. Consume POCOs in my app. … MyContextdb= new MyContext(); var smartphones = from p in db.Products where p.Category.CategoryName == “Smartphone“ select p; …
38. Lazy/Deferred Loading Lazy Loading is a ObjectContext setting, not an application setting and it works with code-generated entities as well with POCO entities. It’s turned off by default, but is true on the EDM Context In addition to eager (Include()) and explicit (Load()) loading, related entities can be loaded automatically on demand. How to enable Lazy Loading: context.ContextOptions.DeferredLoadingEnabled=true Declare the property that you would like to load lazily as virtual. These properties can be any collection type that implements ICollection<T> or they can be a reference representing a 1/0..1 relationship.
39. Object Set and Testability The newObjectSet<T> class derives from ObjectQuery<T> and represents a “root” query object for an EntitySet, that also has AddObject, DeleteObject and Attach methods. In order to improve testability, an IObjectSet<T> interface was defined, that derives from IQueryable<T>. IObjectSet<T> happens to be super easy to implement as an in-memory fake object. Provided that your queries and CUD operations can refer to instances of IObjectSet<T>, your code will now be easier and faster to test.
41. Testability with EF4 Recap EF4 has a focus on testability (it’s quite easy) Best practices: Build simple repository interface Swap repository with in-memory test Alternate route: define simple interface for context Still run tests against database often (integration test – lower but safer)
43. Querying the model Three kinds of queries in EF: LINQ to Entities Entity SQL with Object Services Entity SQL with Entity Client
44. LINQ to Entities Queries written in LINQ sintax Support for LINQ features Full IntelliSense support varperson = from people in context.Anagraficas where people.Name.StartsWith(“S") orderbypeople.Ageascending select new { Name = people.Name, Surname = people.Surname };
45. Entity SQL ObjectServices T-SQL-like query language Can query the EDM EF translates Entity SQL into storage-specific queries varqueryStr = @”SELECT NAME n FROM context.Anagraficas as anag WHERE anag.Name=‘Stefano’”; var person = context.CreateQuery<Anagrafica>(queryStr);
46. Entity Client ADO.Net “old”-style queries Prime choice for developers migrating from Ado.Net using (EntityConnection conn = new EntityConnection(“…”) { conn.Open(); using (EntityCommandcmd = conn.CreateCommand()) { cmd.CommandText= “SELECT * FROM Context.Anagraficas”; using (EntityDataReaderrdr= cmd.ExecuteReader( CommandBehavior.SequentialAccess)) { while (rdr.Read()) {…} } } }
47. Entity Client (2) Familiar ADO.NET object model: EntityCommand EntityConnection EntityDataReader EntityParameter EntityTransaction Text-based results, we need EntityDataReader to read Read-only access to EDM. To modify data we need ObjectServices with Entity SQL
49. What can I use to access data? Data Access Recap
50. Native Data Access Guidance For new native applications wanting a generalized abstraction layer with support for multiple data sources, use ODBC. This is the most efficient, full-featured API in which Microsoft will continue to invest. For specialized, high-performance data access to SQL Server, use SQL Server Native Client (C/C++), the JDBC driver (Java/JavaScript), or the PHP driver depending on your language of choice. If you’re invested in VBA and ASP classic, continue to use ADO. ADO will continue to be supported (including security fixes) but won’t see new feature work. If you really want COM-based data access, use OLEDB. This will also continue to be supported but won’t have new feature work.
51. .NET Data Access Guidance New applications should start by looking at the ADO.NET EF4(including LINQ to Entities) for data access. Scenarios for which ADO.NET DataSets have been used are generally handled well with the Entity Framework also. The EF can be incrementally adopted in applications using ADO.NET Core. For example, much of the connect/query/process code of ADO.NET Core can be easily replaced with very simple, entry-level usage of EF. Use ADO.NET Core when you want the lowest level of control. ADO.NET Core remains the basis for data access in .NET. Provides the most common and familiar development patterns for data access (connect, query, process) DataSets and LINQ to DataSet will continue to be supported. For simple applications where you don’t need more than simple connections and streaming results, ADO.NET may be a good choice to get a job done quickly. If you have requirements for fine-grained control, ADO.NET might give you more capabilities than the Entity Framework.· LINQ to SQL is and will continue to be supported but will see little new investment.