Professional ADO.NET 3.5 with LINQ and the Entity Framework (Wrox Programmer to Programmer)
|
| List Price: | £33.99 |
| Price: | £19.52 & eligible for FREE Super Saver Delivery on orders over £5. Details |
Availability: Usually dispatched within 24 hours
Dispatched from and sold by Amazon.co.uk
35 new or used available from £16.50
Average customer review:Product Description
Language Integrated Query (LINQ), as well as the C# 3.0 and VB 9.0 language extensions to support it, is the most import single new feature of Visual Studio 2008 and the .NET Framework 3.x. LINQ is Microsoft’s first attempt to define a universal query language for a diverse set of in–memory collections of generic objects, entities persisted in relational database tables, and element and attributes of XML documents or fragments, as well as a wide variety of other data types, such as RSS and Atom syndication feeds. Microsoft invested millions of dollars in Anders Hejlsberg and his C# design and development groups to add new features to C# 3.0—such as lambda expressions, anonymous types, and extension methods—specifically to support LINQ Standard Query Operators (SQOs) and query expressions as a part of the language itself.
Corresponding additions to VB 9.0 followed the C# team’s lead, but VB’s implementation of LINQ to XML offers a remarkable new addition to the language: XML literals. VB’s LINQ to XML implementation includes XML literals, which treat well–formed XML documents or fragments as part of the VB language, rather than requiring translation of element and attribute names and values from strings to XML DOM nodes and values.
This book concentrates on hands–on development of practical Windows and Web applications that demonstrate C# and VB programming techniques to bring you up to speed on LINQ technologies. The first half of the book covers LINQ Standard Query Operators (SQOs) and the concrete implementations of LINQ for querying collections that implement generic IEnumerable This book is intended for experienced .NET developers using C# or VB who want to gain the maximum advantage from the query–processing capabilities of LINQ implementations in Visual Studio 2008—LINQ to Objects, LINQ to SQL, LINQ to DataSets, and LINQ to XML—as well as the object/relational mapping (O/RM) features of VS 2008 SP1’s Entity Framework/Entity Data Model and LINQ to Entities and the increasing number of open–source LINQ implementations by third–party developers. Basic familiarity with generics and other language features introduced by .NET 2.0, the Visual Studio integrated development environment (IDE), and relational database management systems (RDBMSs), especially Microsoft SQL Server 200x, is assumed. Experience with SQL Server’s Transact–SQL (T–SQL) query language and stored procedures will be helpful but is not required. Proficiency with VS 2005, .NET 2.0, C# 2.0, or VB 8.0 will aid your initial understanding of the book’s C# 3.0 or VB 9.0 code samples but isn’t a prerequisite. Microsoft’s .NET code samples are primarily written in C#. All code samples in this book’s chapters and sample projects have C# and VB versions unless they’re written in T–SQL or JavaScript. Professional ADO.NET 3.5: LINQ and the Entity Framework concentrates on programming the “Taking a New Approach to Data Access in ADO.NET 3.5,” uses simple C# and VB code examples to demonstrate LINQ to Objects queries against in–memory objects and databinding with LINQ–populated generic List “Understanding LINQ Architecture and Implementation,” begins with the namespaces and C# and VB language extensions to support LINQ, LINQ Standard Query Operators (SQOs), expression trees and compiled queries, and a preview of domain–specific implementations. C# and VB sample projects demonstrate object, array, and collection initializers, extension methods, anonymous types, predicates, lambda expressions, and simple query expressions. “Executing LINQ Query Expressions with LINQ to Objects,” classifies the 50 SQOs into operator groups: Restriction, Projection, Partitioning, Join, Concatenation, Ordering, Grouping, Set, Conversion, and Equality, and then lists their keywords in C# and VB. VS 2008 SP1 includes C# and VB versions of the LINQ Project Sample Query Explorer, but the two Explorers don’t use real–world collections as data sources. This describes a LINQ in–memory object generator (LIMOG) utility program that writes C# 3.0 or VB 9.0 class declarations for representative business objects that are more complex than those used by the LINQ Project Sample Query Explorers. Sample C# and VB queries with these business objects as data sources are more expressive than those using a arrays of a few integers or last names. “Working with Advanced Query Operators and Expressions,” introduces LINQ queries against object graphs with entities that have related (associated) entities. This begins with examples of aggregate operators, explains use of the “Using LINQ to SQL and the LinqDataSource,” introduces LINQ to SQL as Microsoft’s first O/RM tool to reach released products status and shows you how to autogenerate class files for entity types with the graphical O/R Designer or command–line “Querying DataTables with LINQ to DataSets,” begins with a comparison of “Manipulating Documents with LINQ to XML,” describes one of LINQ most powerful capabilities: managing XML Infosets. This demonstrates that LINQ to XML has query and navigation capabilities that equal or surpasses XQuery 1.0 and XPath 2.0. It also shows LINQ to XML document transformation can replace XQuery and XSLT 1.0+ in the majority of common use cases. You learn how to use VB 9.0’s XML literals to constructs XML documents, use “Exploring Third–Party and Emerging LINQ Implementations,” describes Microsoft’s Parallel LINQ (also called PLINQ) for taking advantage of multiple CPU cores in LINQ to Objects queries, LINQ to REST for translating LINQ queries into Representational State Transfer URLs that define requests to a Web service with the HTML GET, POST, PUT, and DELETE methods, and Bart De Smet’s LINQ to Active Directory and LINQ to SharePoint third–party implementations. “Raising the Level of Data Abstraction with the Entity Data Model,” starts with a guided tour of the development of EDM and EF as an O/RM tool and heir apparent to ADO.NET DataSets, provides a brief description of the entity–relationship (E–R) data model and diagrams, and then delivers a detailed analysis of EF architecture. Next comes an introduction to the Entity SQL (eSQL) language, eSQL queries, client views, and Object Services, including the “Defining Conceptual, Mapping, and Storage Schema Layers,” provides detailed insight into the structure of the System.Linq and System.Linq.Expressions namespaces for LINQ to Objects, System.Data.Linq for LINQ to SQL, System.Data.Linq for LINQ to DataSet, System.Xml.Linq for LINQ to XML, and System.Data.Entity and System.Web.Entity for EF’s Entity SQL. DataTables with LINQ to DataSets, creating EntitySets with LINQ to Entities, querying and manipulating XML InfoSets with LINQ to XML, and performing queries against strongly typed XML documents with LINQ to XSD.Let temporary local variable operator, shows you how to use Group By with aggregate queries, conduct the equivalent of left outer joins, and take advantage of the Contains() SQO to emulate SQL’s IN() function. You learn how to compile queries for improved performance, and create mock object classes for testing without the overhead of queries against relational persistence stores.SqlMetal.exe. This also explains how to edit ∗.dbml mapping files in the Designer or XML Editor, instantiate DataContext objects, and use LINQ to SQL as a Data Access Layer (DAL) with T–SQL queries or stored procedures. Closes with a tutorial for using the ASP.NET LinqDataSource control with Web sites or applications.DataSet and DataContext objects and features, followed by a description of the DataSetExtensions. Next comes querying untyped and typed DataSets, creating lookup lists, and generating LinqDataViews for databinding with the AsDataView() method. This ends with a tutorial that shows you how to copy LINQ query results to DataTables.GroupJoin() to produce hierarchical documents, and work with XML namespaces in C# and VB.ObjectContext, MetadataWorkspace, and ObjectStateManager. Later chapters describe eSQL and these objects in greater detail. Two C# and VB sample projects expand on the eSQL query and Object Services sample code.∗.edmx file that generates the ∗.ssdl (storage schema data language), ∗.msl (mapping schema language), and ∗.csdl files at runtime. You learn how to edit the ∗.edmx file manually to accommodate modifications that the graphic EDM Designer can’t handle. You learn how to implement the Table–per–Hierarchy (TPH) inheritance model and traverse the MetadataWorkspace to obtain property values. Four C# and VB sa...
Product Details
- Amazon Sales Rank: #247065 in Books
- Published on: 2009-01-26
- Original language: English
- Number of items: 1
- Binding: Paperback
- 672 pages
Editorial Reviews
From the Back Cover
Professional ADO.NET 3.5 with LINQ and the Entity Framework
LINQ and the Entity Framework are revolutionizing .NET database programming. With this book as your guide, you′ll discover how to leverage these cutting–edge query and object/relational mapping technologies for enterprise–class computing. It provides you with hands–on coding techniques for data–intensive web and Windows projects. You′ll also get quickly up to speed on LINQ technologies with the help of C# and VB programming examples.
Leading Microsoft database authority Roger Jennings first covers LINQ Standard Query Operators (SQOs) and domain–specific LINQ to SQL, LINQ to DataSet, and LINQ to XML implementations for querying generic collections. He then delves into the ADO.NET Entity Framework, Entity Data Model, Entity SQL (eSQL), and LINQ to Entities. Numerous code examples are integrated throughout the chapters that emulate real–world data sources and show you how to develop C# and VB web site/application or Windows projects.
The information in this book will give you the tools to create and maintain applications that are independent of the underlying relational data.
What you will learn from this book
A new approach to data access in ADO.NET 3.5 SP1
Methods for working with advanced LINQ query operators and expressions
Techniques for querying SQL Server® database with LINQ to SQL
Approaches for integrating third–party and emerging LINQ implementations
How to raise the level of data abstraction with the Entity Data Model
Steps for creating design–time data sources from ObjectContext
Ways to use the Entity Data Model as a data source
Who this book is for
This book is for intermediate to advanced developers of data–intensive .NET web– and Windows–based applications.
Wrox Professional guides are planned and written by working programmers to meet the real–world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
Customer Reviews
Must get book for
This and Dino's book (Microsoft® .NET: Architecting Applications for the Enterprise (PRO-Developer)) are a must get. Dinos book is easier to read but this has some very hot topics that you really need to study to get a meaty understanding. It goes beyound the mundane world of LINQ(that I have been very happy in) and looks at how this might be used in high availablity systems(eg the Spring/NHibernate/MVC crowd) and is a very sustainable look at the various (mapping)patterns for getting at your data. Bits of interest to me were LINQ to Entities/LINQ to Objects, the extensive coverage of Entity Framework, ADO.Net Data Services,Parallel LINQ and the impact that has on multicore processors ( how hot are your servers gonna get and how Parallel LINQ has taken that into consideration.
If you are a SQL Server guy that thinks that SQL Server optimizes stored proceedures and that is why you should not use LINQ(as I did one), you need to read this book. There is a very good reason why Microsoft went for LINQ and put to much time into it and Entity Framework.
DRY - Don't Repeat Yourself
Positives:
Code examples in VB.NET and C#
Negatives:
A highly boring and annoying read. The book constantly repeats previous keywords and concepts.
And it is padded out with a lot of irrelevant waffle.
As a developers we want to know:
1. What can the technology do.
2. What is the best way of implementing the technology and why.
We want a book to be perfectly concise.
We don't want to know that you're going to talk about LINQ to XML. Or that you've
talked about LINQ to XML. We want you to just talk about LINQ to XML.
With complete focus on just that topic, without temptation to mention irrelevant snippets.
We want to know the real life hard earned coding techniques.
"Dave, can you write some LINQ to XML to query this invoice XML?"
"Yes no problem, but did you know that XML was initially developed under the auspices of the W3 Consortium in 1996
and chaired by the Chief Computer Engineer of Sun Microsystems, John Bosak?"
"No and I don't care! Just write the query and write it well."
Frustrating Read
I am an experienced C# & SQL programmer and wanted an in-depth look at the topics listed on this book's cover. There is no question that the author understands his subject, but I found this book hard going.
The code samples are OK, but very poorly explained and often I would read a paragraph several times and still be none the wiser. I found I learned more from just reading the code rather than trying to understand the explanations.
I've read technical books from talented authors who can break a subject down and help the reader grasp difficult concepts. Sadly, it is exactly these skills that this author obviously lacks.



