Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry.
> Shop now
If you use Entity Framework in Visual Studio 2008 and .NET 3.5, this is the book you want. Programming Entity Framework, 1st Edition offers experienced developers a thorough introduction to Microsoft's core framework for modeling and interacting with data in .NET applications. This hands-on tour provides a deep understanding of Entity Framework's architecture and APIs, and explains how to use the framework in a variety of applications built with Visual Studio 2008 and .NET 3.5.
From the Entity Data Model (EDM) and Object Services to EntityClient and the Metadata Workspace, this highly acclaimed first edition covers it all.
Understand the core concepts you need to make the best use of the Entity Framework (EF) in your applications
Learn to query your data, using either LINQ to Entities or Entity SQL
Create Windows Forms, WPF, and ASP.NET applications
Build ASMX web services and WCF services
Use Object Services to work directly with your entity objects
Delve into model customization, relationship management, change tracking, data concurrency, and more
One important note: while many of the lessons from this book will continue to be valuable as you move to .NET 4, the thoroughly revised second edition of Programming Entity Framework specifically targets Visual Studio 2010 and .NET 4 -- where there have been many advancements and additions to the framework.
Programming Entity Framework is a thorough introduction to Microsoft's new core framework for modeling and interacting with data in .NET applications. This highly-acclaimed book not only gives experienced developers a hands-on tour of the Entity Framework and explains its use in a variety of applications, it also provides a deep understanding of its architecture and APIs. Although this book is based on the first version of Entity Framework, it will continue to be extremely valuable as you shift to the Entity Framework version in .NET Framework 4.0 and Visual Studio 2010. From the Entity Data Model (EDM) and Object Services to EntityClient and the Metadata Workspace, this book covers it all.
Working with Object Services
(Excerpt from Chapter 9)
Most of the work that you will do in the Entity Framework will involve the objects that are based on the entities in your Entity Data Model (EDM). The Object Services API is the part of the framework that creates and manages these objects. Although you have worked with Object Services in much of the code you wrote in earlier chapters, and you have touched on a variety of its topics along the way, you haven't yet seen the big picture. The API has a lot of tools that you can access directly to take charge of your entity objects. This chapter is devoted to giving you a better understanding of the Object Services API: what it is responsible for, what it does under the covers, and some of the ways that you can take advantage of it. You will learn about how queries are processed and turned into objects, how these objects are managed during their life cycle, and how Object Services is responsible for the way entities are related to each other. You will see how the ObjectQuery works and how it relates to LINQ to Entities queries under the covers. This chapter will also give you a better understanding of how Object Services manages an entity's state, beyond what you learned in Chapter 5. As you become more familiar with the purpose, features, and implementation of Object Services, you will be better prepared to solve some of the challenges you will face as you move from using the "drag-and-drop" application-building features that Visual Studio provides to building enterprise applications where you need to have much more control over how all of the pieces of the application interact with one another.
Where Does Object Services Fit into the Framework?
Object Services is at the top of the food chain in the Entity Framework. The namespace for this API is System.Data.Objects, and it provides all of the necessary functionality for generating and interacting with the objects that are shaped by the conceptual layer and are populated from a data store. As shown in the figure, Object Services initially processes your LINQ to Entities and ObjectQuery queries, as well as materializes the query results into objects.
Object Services as it relates to the rest of the Entity Framework stack You can divide the core functionality of Object Services into seven areas: 1) Query processing 2) Object materialization 3) Object management 4) Object relationship management 5) Object state management 6) Database Manipulation Language (DML) command processing 7) Additional features
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 two years ago. She is well known in the .NET community as a Microsoft MVP, ASPInsider and INETA Speaker. She is a prolific blogger, a frequent presenter at technical conferences around the world, including DevConnections and TechEd and she writes articles for many well-known technical publications.
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 the author of the highly acclaimed book, Programming Entity Framework, 1st and 2nd editions and 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 tweets at @julielerman and blogs at http://thedatafarm.com/blog.
This is definitely the book to have by your side if you are programming with the ADO.NET Entity Framework 1.0.
The author touches on a ton of subjects that include: Data Binding with Windows Forms and WPF Applications, Using Stored Procedures with the EDM, LINQ to Entities Queries, Customizing Entities, Using the ASP.NET EntityDataSource Control, Using Entities with Web and WCF Services, Using the Entity Framework in n-Tier ASP.NET Applications and n-Tier Client-Side Applications, Handling Entity Framework Exceptions, Performance, Security, Multithreaded Applications, and much more.
There is a lot covered in this book. One of the coolest things about this book is the amount of new possibilities it introduces. Many which I would not have considered without seeing them in this book.
I also like that the book covers the architectural aspects of integrating EF into several different types of architectures.
The author drills into each subject enough to get a thorough understand. With all the material covered, that is rare, but the book is an 800 page whopper.
I have been working with the EF 1.0 since its release in August and can say that this book has more information jammed into it than all the other resources I have been using combined.
The book includes VB.NET and C# code examples.
The book has a support site (google for learnentityframework) with the code samples and the database scripts available. The downloaded code is also in both VB.NET and C#. It is well organized and very usable.
The book is very well organized and is a good read. The author has a good writing style....
All in all, I do not think you can do without this book if you are going to do anything besides play around with the Entity Framework.Read more ›
Over the past 20 years of my career as a software developer, application architects have recommended that enterprise applications be developed using multiple tiers to separate the concerns of the user interface, business logic and data access layers. The challenge for programmers has been to determine how one would actually build and maintain such a beast. Microsoft has addressed part of the data portion of this architecture recommendation by introducing the "Entity Framework" (EF) to the .Net technology stack.
In most cases, databases are designed for the database administrator and not the application developer. The EF allows a programmer to add an Entity Data Model (EDM) to a client application. With an EDM, programmers can create application centric object interfaces to their data sources without having to concern themselves with the nuances of the underlying data structures. The EF takes care of translating these application objects to the SQL statements that interact with the database. So, what will lead us on this journey?
The "Programming Entity Framework" book can be divided into two major sections. Chapters 1-14 provides an introduction to all the major EF concepts while Chapters 15-23 covers advanced topics. There is a website at [...] that supports the book and allows you to download database scripts and sample applications. (As a side note, I learned from this site that the author has agreed to update her book to cover changes introduced in the 2010 version of Visual Studio.)
I like the fact that Ms. Lerman provides both VB and C# code side by side with all of her examples (my personal goal is to become fluent in both languages).... The book is peppered with side notes (designated by three paw prints) that make some clarification or add pertinent information to the page.
I did a search of alternative books that cover this same subject. I investigated the online information provided by Microsoft. None of the books I researched (as well as the Microsoft articles online) came close to the scope and readability of this book. Lerman does a great job of balancing her independent point of view on this subject with the insider tips and information that make for a good read.
The myriad of tools and components contained in the EF are now a strategic part of Microsoft's data access strategy going forward. So don't get left behind. I recommend "Programming Entity Framework" as your train to the data access future. I guess that would make Julia Lerman your Conductor and Engineer on this trip as well ... ;-).Read more ›
I'm a seasoned VB6/PHP/Green Screen developer who has floated around .NET but never gone beyond tinkering. Entity Framework (and LINQ and MVC) have convinced me that it's time to jump fully on the .NET wagon.
I'm loving this book because while it assumes the reader knows how to write a program, it doesn't assume that the reader is a .NET programmer. It explains Entity Framework excellently while also explaining Visual Studio/.NET concepts succinctly, without wasting the reader's time explaining what an integer is.
The many pointers to web resources for further information are greatly appreciated and increase the book's value to someone, like me, coming to .NET rather late in the game without bogging down the book for seasoned .NET programmers.
Finally, the author's use of a "brown field" application for the examples, complete with "legacy typos" and examples of how EF can free you of legacy design flaws while leaving the legacy intact show that the author has been in the trenches writing real code and has a great deal of wisdom beyond Entity Framework to share.
Entity Framework (EF) will be a foundational technology for Microsoft for many years to come...just poke around Microsoft's site and see how many other departments are using it outside of the ADO.NET team. There already are database EF adapters for Oracle and IBM's DB2 amongst other databases...Oracle and IBM see the future and so should you. You can add EF to the list of must-learn technologies for the Microsoft platform which also includes WCF, WF, LINQ and WPF/SilverLight. Combine EF and WPF/SilverLight, using MVVM for the Presentation Model, with Prism/Unity for modular design and cross cutting concerns (validation, logging, cache, security, real-time constraints, monitoring, ?business rules) you will have a powerful architectural infrastructure. Domain Driven Design (DDD) is the architectural mindset Microsoft is blueprinting with EF a cornerstone of DDD implementation. Model Driven Development will mature in the future "Oslo" effort and EF will figure prominently. DDD is as much a team discipline and mindset as it is an architectural pattern that EF facilitates. In EF version 1 (EFv1), combined with present day modeling tools, is already better than OMG's MDA(Model Driven Architecture) in building real world applications in my opinion. EFv1 currently supports the Active Record pattern (as does LINQ-to-SQL according to Dino Esposito in Microsoft® .NET: Architecting Applications for the Enterprise (PRO-Developer)) with further support for Domain Model pattern in the upcoming EF4 (i.e. EF version 2 on .NET 4.0). EF is more than an ORM, but EFv1 is not without well placed criticism of shortcomings implementing DDD and impairment of various development methodologies such as Agile.... Nevertheless going forward EF, especially with upcoming EF4 will more fully follows DDD principles, will be everywhere, so you might is well start now. The concepts will be the same in EF4 with added benefits of "model first" design, support for POCO (plain old CLR objects), N-Tier, Reports, and improved Testability as well as the niggling issue of "pluralization". NHiberbnate, an open source project supported by RedHat, reportedly has many of these features planned for EF4 now, but does not have the weight of a broad Microsoft strategy behind it. Choosing NHibernate over EF, is an important strategic/emotional decision. Ideablade's DevForce , which builds off EFv1 now and soon EF4 when it is released, helps with some of these pain points and more now....but you still need to understand EF. Architecting software is difficult and there are no tools to magically create well designed architectural patterns. EF as a foundational component will put you on a solid footing and put you in a DDD frame of mind, while doing a good deal of grunt work for you, so you can spend more time on business logic and UI usability.
The table was set with Entity Relationship Modeling by Dr. David Chen in the 70's and garnished by Martin Fowler's Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series) Eric Evans'Domain-Driven Design: Tackling Complexity in the Heart of Software and Jimmy Nillsson's Applying Domain-Driven Design and Patterns: With Examples in C# and .NET, DDD is now being served to the masses by Microsoft. Julia Lerman with "Programming Entity Framework" does not try to emulate these seminal works. She takes you in a practical step by step approach through EFv1 without being a simplistic Step-by-Step book. The initial examples are simple, but it would be asinine to use Adventure Works in the initial chapters unless you are like Kobayashi at Nathan's hotdog eating contest. I like my hotdogs and concepts one at a time. The examples and databases become more complex as the book goes forward showing the nitty gritty underpinnings and practical applications of EF.
Despite Julia's reluctance to write books, as suggested in her preface, I think she will be on the book publishing treadmill for a long time given the raves about this book, EF's strategic positioning by Microsoft and the attendant demand for well explained intricacies of this emergent technology. Her book is wonderfully explanatory, especially compared to the other book on the market regarding LINQ and EF. I predict she will not be able to resist readers holding up their lighters, like at a concert begging for an encore, especially with EF4 around the corner followed by EF5.Read more ›