70-565 - Data Access Layer Technology Matrix

Filed under: , , by:

As I mentioned in the previous post on the Presentation Layer Technology Matrix, one of skills measured by the 70-565 exam is the ability to "Identify the appropriate technology" and "Analyze and refine the logical design of the application", therefore below is the data access layer technology matrix that should help you identify what type of technology should be used in the given scenarios:

Consider using ADO.NET Core if:

You must use low-level APIs for full control over data access in your application.
You want to leverage the existing investment in ADO.NET providers.
You are using traditional data access logic against the database.
You do not need the additional functionality offered by the other data access technologies.
You are building an application that must support a disconnected data access experience.

Consider using ADO.NET Data Services Framework if:

You want to access data that is exposed as a service using REST-like URIs.

Consider using ADO.NET Entity Framework if:

You must share a conceptual model across applications and services.
You must map a single class to multiple tables via inheritance.
You must query relational stores other than the Microsoft SQL Server family of products.
You have an object model that you must map to a relational model using a flexible schema.
You need the flexibility of separating the mapping schema from the object model.

Consider using ADO.NET Sync Services if:

You must build an application that supports occasionally connected scenarios.
You are using Windows Mobile and want to synchronize with a central database server.

Consider using LINQ to Data Services if:

You are using data returned from ADO.NET Data Services in a client.
You want to execute queries against client-side data using LINQ syntax.
You want to execute queries against REST data using LINQ syntax.

Consider using LINQ to DataSets if:

You want to execute queries against a Dataset, including queries that join tables.
You want to use a common query language instead of writing iterative code.

Consider using LINQ to Entities if:

You are using the ADO.NET Entity Framework.
You must to execute queries over strongly typed entities.
You want to execute queries against relational data using the LINQ syntax.

Consider using LINQ to Objects if:

You must execute queries against a collection.
You must execute queries against file directories.
You must execute queries against in-memory objects using the LINQ syntax.

Consider using LINQ to XML if:

You are using XML data in your application.
You want to execute queries against XML data using the LINQ syntax.


I hope this little cheat sheet makes a little clearer what data access layer technology is applicable in a given scenario, so you can correctly identify the appropriate technology either on the exam or during your next project.

0 comments: