Synopses & Reviews
The DbContext API captures Entity Frameworks (EF) most commonly used features and tasks, simplifying development with EF. This concise book shows you how to use the API to perform set operations with the DbSet class, handle change tracking and resolve concurrency conflicts with the Change Tracker API, and validate changes to your data with the Validation API.
With DbContext, youll be able to query and update data, whether youre working with individual objects or graphs of objects and their related data. Youll find numerous C# code samples to help you get started. All you need is experience with Visual Studio and database management basics.
- Use EFs query capabilities to retrieve data, and use LINQ to sort and filter data
- Learn how to add new data, and change and delete existing data
- Use the Change Tracker API to access information EF keeps about the state of entity instances
- Control change tracking information of entities in disconnected scenarios, including NTier applications
- Validate data changes before theyre sent to the database, and set up validation rules
- Bypass EFs query pipeline and interact directly with the database
Lerman, a specialist and teacher of the Entity Framework, and Miller,a program manager for the ADO.NET Entity Framework, show .NET developers with experience with Visual Studio and database managementbasics how to use the features of the DbContext API in Microsoft's principal data access technology ADO.NET Entity Framework to performset operations with the DbSet class, query and update data using the new API, make changes to data, handle change tracking and resolveconcurrency conflicts with the Change Tracker API, work with disconnected entities (including N-Tier applications), accessinformation and refresh an entity from the database, and validate changes to data with the Validation API, as well as advanced featureslike customizing validations and using the DbContext in advanced scenarios, and the new features in future releases. Prior experience with Entity Framework is helpful, but not required.Annotation ©2014 Ringgold, Inc., Portland, OR (protoview.com)
In addition to Code First, EF 4.1 introduces simpler EF coding patterns with the DbContext, DbSet, ChangeTracker and Validation APIs. This second mini-book will take the reader on a tour of these new features and how to take advantage of them. These new classes and APIs let the user focus on the most common coding tasks with Entity Framework and streamlines access to patterns which are frequently used, but were previously non-intuitive and complicated to code. With the new features in hand, the reader will then see how to leverage EF 4.1 in a variety of applications— client applications, web applications, services — and architectures from drag & drop to enterprise apps with repositories, Unit of Work and automated testing.
In addition to Code First, EF 4.1 introduces simpler EF coding patterns with the DbContext, DbSet, ChangeTracker and Validation APIs. This second mini-book will take the reader on a tour of these new features and how to take advantage of them. These new classes and APIs let the user focus on the most common coding tasks with Entity Framework and streamlines access to patterns which are frequently used, but were previously non-intuitive and complicated to code. The Validation API that comes with DbContext leverages the existing .NET 4 IValidatableObject and ValidationAttributes as well as providing additional validation features. You will learn the ins and outs of getting the most from server side validation from the DbContext.
About the Author
Julia Lerman is the leading independent authority on the Entity Framework and has been using and teaching the technology since its inception in 2006. She is well known in the .NET community as a Microsoft MVP, ASPInsider, and INETA Speaker. Julia is a frequent presenter at technical conferences around the world and writes articles for many well-known technical publications including the Data Points column in MSDN Magazine.
Julia lives in Vermont with her husband, Rich, and gigantic dog, Sampson, where she runs the Vermont.NET User Group. You can read her blog at www.thedatafarm.com/blog and follow her on Twitter at julielerman.
Rowan is based in Seattle, Washington and works as a Program Manager for the ADO.Net Entity Framework team at Microsoft. Prior to moving to the US he resided in the small state of Tasmania in Australia. Rowan speaks at technical conferences and blogs at http://romiller.com. Outside of technology Rowan's passions include snowboarding, mountain biking, horse riding, rock climbing and pretty much anything else that involves being active. The primary focus of his life, however, is to follow Jesus.
Table of Contents
Preface; Audience; Contents of This Book; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Introducing the DbContext API; 1.1 Getting the DbContext API into Your Project; 1.2 Looking at Some Highlights of the DbContext API; 1.3 Working with the BreakAway Model; 1.4 Ensuring DbContext Instances Get Disposed; Chapter 2: Querying with DbContext; 2.1 Writing Queries with LINQ to Entities; 2.2 Querying All the Data from a Set; 2.3 Using LINQ for Sorting, Filtering, and More; 2.4 Finding a Single Object; 2.5 Querying Local Data; 2.6 Loading Related Data; 2.7 Querying Contents of a Collection Navigation Property; Chapter 3: Adding, Changing, and Deleting Entities; 3.1 Working with Single Entities; 3.2 Working with Relationships; 3.3 Working with Change Tracking; 3.4 Using Snapshot Change Tracking; 3.5 Enabling and Working with Change Tracking Proxies; 3.6 Fetching Entities Without Change Tracking; Chapter 4: Working with Disconnected Entities Including N-Tier Applications; 4.1 A Simple Operation on a Disconnected Graph; 4.2 Exploring the Challenges of N-Tier; 4.3 Understanding How DbContext Responds to Setting the State of a Single Entity; 4.4 Setting the State for Multiple Entities in an Entity Graph; 4.5 Building a Generic Approach to Track State Locally; 4.6 Tracking Individually Modified Properties; Chapter 5: Change Tracker API; 5.1 Change Tracking Information and Operations for a Single Entity; 5.2 Working with the State Property; 5.3 Working with Current, Original, and Database Values; 5.4 Working with Individual Properties; 5.5 Refreshing an Entity from the Database; 5.6 Change Tracking Information and Operations for Multiple Entities; 5.7 Using the Change Tracker API in Application Scenarios; Chapter 6: Validating with the Validation API; 6.1 Defining and Triggering Validation: An Overview; 6.2 Validating a Single Object on Demand with GetValidationResult; 6.3 Specifying Property Rules with ValidationAttribute Data Annotations; 6.4 Inspecting Validation Result Details; 6.5 Exploring More ValidationAttributes; 6.6 Validating Individual Properties on Demand; 6.7 Specifying Type-Level Validation Rules; 6.8 Understanding How EF Combines Validations; 6.9 Validating Multiple Objects; 6.10 Validating When Saving Changes; Chapter 7: Customizing Validations; 7.1 Overriding ValidateEntity in the DbContext; 7.2 Considering Different Ways to Leverage ValidateEntity; 7.3 Updating Data During SaveChanges; 7.4 Overriding SaveChanges When Validation Occurs; 7.5 Using the IDictionary Parameter of ValidateEntity; 7.6 Controlling Which Entities Are Validated in ValidateEntity; Chapter 8: Using DbContext in Advanced Scenarios; 8.1 Moving Between ObjectContext and DbContext; 8.2 Leveraging SQL Server Operators Exposed in SqlFunctions; 8.3 Querying Derived Types with DbSet; 8.4 Understanding the Interface Property Limitation; 8.5 Considering Automated Testing with DbContext; 8.6 Reducing Database Hits in Testing with IDbSet; 8.7 Accessing the Database Directly from DbContext; 8.8 Providing Multiple Targeted Contexts in Your Application; Chapter 9: What's Coming Next for Entity Framework; 9.1 Understanding Entity Framework's Version Numbers; 9.2 Entity Framework 5.0;