Defining the LINQ design goals in Visual C#.NET

Create Code 3/9 in Visual C#.NET Defining the LINQ design goals

Defining the LINQ design goals
Code-39 Printer In C#
Using Barcode generator for VS .NET Control to generate, create USS Code 39 image in VS .NET applications.
Microsoft had a number of design goals in mind when it created LINQ These design goals affect how you view LINQ today and how you can use it to solve specific application development problems The following list describes the design goals Data source access simplification: One of the major issues of working with any data source is that the developer must know several disciplines to perform the task of accessing the data For example, when working with SQL Server, the developer must understand the nuances of the base programming language, a database provider, and a language such as SQL to obtain access to the data If the developer decides to access XML data, it s necessary to master an entirely different set of disciplines LINQ overcomes this problem by providing a single method of accessing data Data manipulation simplification: When you make a query using C# or Visual Basic NET, you have to worry about the structure of the data source For example, when you query SQL Server, you must consider the tables, indexes, views, and other structural elements of the database The use of these structural elements is necessary but not helpful You end up thinking about the data structure and not the data Consequently, many developers create convoluted and difficult to understand datamanipulation code when what they really wanted was the data (the underlying structure isn t important) Data translation: In most cases, you must write special routines to move data from one data source to another For example, if you want to move data from an XML file to SQL Server, you must perform some special tasks to do it In addition, moving the data doesn t always provide the results you expected Differences in data source capabilities make the translation less than perfect LINQ reduces the complexity of data translation significantly It doesn t always provide a perfect translation either, but you ll find that the translation is usually better because each provider performs the required translation for you
Painting Barcode In Visual C#
Using Barcode generator for VS .NET Control to generate, create barcode image in Visual Studio .NET applications.
1: Getting to Know LINQ
Code 39 Extended Generator In .NET Framework
Using Barcode generation for Visual Studio .NET Control to generate, create Code 39 Extended image in .NET framework applications.
Object mapping: Most programming languages today rely on some form of object orientation Objects have special characteristics that you won t find in many data sources For example, an object doesn t respect the tables, indexes, and other data structures found in SQL Server Consequently, you need a means of mapping the object to the data source and vice versa In the past, the developer had to rely on complex objects that Visual Studio generated for them Using LINQ provides object mapping without the complexity Language extensibility: Microsoft provides a limited number of LINQ to providers as part of the NET Framework These providers are capable, but they don t address every need Consequently, one of the design goals for LINQ is to provide language extensibility so that third parties can create other providers Table 1-1 shows an example of just how many providers have already been created by third parties, and you can expect more in the future Multiple data source extensibility: Because one of the goals for LINQ is data translation, it s important to have providers that can work with multiple data sources The goal is to make it possible to move data from any data source to any other data source In addition, Microsoft wants LINQ to be able to use data from any data source and combine it with data from any other data source to create a composite output Type safety: A major problem with many data source usage scenarios today is that data problems are discovered only at run time, often without any help from the language product or the application A developer may not discover a problem until someone complains about mangled data The type safety features of LINQ help you discover potential data problems during compile time, when they re easy to fix, rather than getting your bad news later IntelliSense support: Creating a query using standard development tools can be hit or miss LINQ provides IntelliSense support so that you can see how to create the query as you create it Debugger support: Due to strong typing and other features of LINQ, you get full debugger support, which makes finding a particular problem considerably easier No longer do you have to look for that errant bit of code in a loop or the missed type issue in a custom class LINQ helps you diagnose problems quickly and easily Older product support: Even though most of this book uses new technology that Microsoft provides, you can use LINQ with older products as well Obviously, the support isn t built in to these older products, so LINQ doesn t work as seamlessly (You must use at least the NET Framework 20) Backward compatibility: One of Microsoft s major goals was to ensure that you could continue using all the data structures you used in the past LINQ simply provides a different way to interact with those data structures
Code 3 Of 9 Creation In Visual Basic .NET
Using Barcode maker for .NET Control to generate, create Code 3/9 image in Visual Studio .NET applications.
Create Barcode In C#
Using Barcode encoder for .NET framework Control to generate, create barcode image in Visual Studio .NET applications.
Data Matrix Generator In Visual C#.NET
Using Barcode drawer for Visual Studio .NET Control to generate, create Data Matrix ECC200 image in .NET framework applications.
Print Code 128 In C#.NET
Using Barcode maker for .NET framework Control to generate, create Code 128B image in Visual Studio .NET applications.
Generate RoyalMail4SCC In Visual C#.NET
Using Barcode encoder for VS .NET Control to generate, create Royal Mail Barcode image in .NET framework applications.
Draw Bar Code In .NET Framework
Using Barcode drawer for VS .NET Control to generate, create bar code image in Visual Studio .NET applications.
UPC-A Supplement 5 Printer In Java
Using Barcode creator for Java Control to generate, create UPCA image in Java applications.
Reading EAN13 In Visual Studio .NET
Using Barcode recognizer for .NET framework Control to read, scan read, scan image in Visual Studio .NET applications.
Universal Product Code Version A Decoder In .NET
Using Barcode recognizer for .NET Control to read, scan read, scan image in .NET framework applications.
ALL RIGHTS RESERVED. Business Refinery (c) 2006 - 2010. Terms of Use | Privacy Policy