LINQ TO Object Sample
LINQ:
LINQ stands for “Language Integrated Query”.
Different datastores has got different query languages. Microsoft’s idea is providing one query language syntax to all the datastors to make developer job easier.
This lead to invention of LINQ with .NET3.5
LINQ is a concept of performing queries based on language syntax.
LINQ syntax:
var res= from variablename in source
where condition
group by...
order by...
select variablename;
source can be database, object, xml document.
LINQ can be classified into 3 types:
1) LINQ to Object.
2) LINQ to SQL.
3) LINQ to XML.
LINQ to object:
Applying linq query expression to object is called “Linq to object”.
Ex:
Int[]a={2,5,6,7,1,3};
//Display number>=5
var res = from aa in a
where aa>=5
order by aa descending
select aa;
LINQ Samples: Restriction Operators
Where - Simple 1
This sample uses where to find all elements of an array less than 5.
public void Linq1()
{
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var lowNums =
from n in numbers
where n < 5
select n;
Console.WriteLine("Numbers < 5:");
foreach (var x in lowNums)
{
Console.WriteLine(x);
}
}
Result
Numbers < 5:
4
1
3
2
0
Where - Indexed
This sample demonstrates an indexed Where clause that returns digits whose name is shorter than their value.
public void Linq5()
{
string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
var shortDigits = digits.Where((digit, index) => digit.Length < index);
Console.WriteLine("Short digits:");
foreach (var d in shortDigits)
{
Console.WriteLine("The word {0} is shorter than its value.", d);
}
}
Result
Short digits:
The word five is shorter than its value.
The word six is shorter than its value.
The word seven is shorter than its value.
The word eight is shorter than its value.
The word nine is shorter than its value.
Flavors of .NET:
Contrary to general belief .NET is not a single technology. Rather it is a set of
technologies that work together seamlessly to solve your business problems. The
following sections will give you insight into various flavors and tools of .NET and what kind of applications you can develop.
• What type of applications can I develop?
When you hear the name .NET, it gives a feeling that it is something to do only with internet or networked applications. Even though it is true that .NET provides
solid foundation for developing such applications it is possible to create many other types of applications. Following list will give you an idea about various
types of application that we can develop on .NET.
1. ASP.NET Web applications:
These include dynamic and data driven browser
based applications.
2. Windows Form based applications:
These refer to traditional rich client applications.
3. Console applications:
These refer to traditional DOS kind of applications like
batch scripts.
4. Component Libraries:
This refers to components that typically encapsulate
some business logic.
5. Windows Custom Controls:
As with traditional ActiveX controls, you can develop your own windows controls.
6. Web Custom Controls:
The concept of custom controls can be extended to
web applications allowing code reuse and modularization.
7. Web services:
They are “web callable” functionality available via industry standards like HTTP, XML and SOAP.
8. Windows Services:
They refer to applications that run as services in the
background. They can be configured to start automatically when the system boots up.
As you can clearly see, .NET is not just for creating web application but for almost all kinds of applications that you find under Windows.
Feature Of .NET
Features of .NET
Now that we know some basics of .NET, let us see what makes .NET a wonderful
platform for developing modern applications.
• Rich Functionality out of the box
.NET framework provides a rich set of functionality out of the box. It contains hundreds of classes that provide variety of functionality ready to use in your applications. This means that as a developer you need not go into low level details
of many operations such as file IO, network communication and so on.
• Easy development of web applications
ASP.NET is a technology available on .NET platform for developing dynamic and data driven web applications. ASP.NET provides an event driven programming model (similar to Visual Basic 6 that simplify development of web
pages (now called as web forms) with complex user interface. ASP.NET server controls provide advanced user interface elements (like calendar and grids) that save lot of coding from programmer’s side.
• OOPs Support
The advantages of Object Oriented programming are well known. .NET provides a fully object oriented environment. The philosophy of .NET is – “Object is mother of all.” Languages like Visual Basic.NET now support many of the OO
features that were lacking traditionally. Even primitive types like integer and characters can be treated as objects – something not available even in OO languages like C++.
• Multi-Language Support
Generally enterprises have varying skill sets.
For example, a company might have people with skills in Visual Basic, C++, and Java etc. It is an experience that
whenever a new language or environment is invented existing skills are outdated.
This naturally increases cost of training and learning curve. .NET provides something attractive in this area. It supports multiple languages. This means that if you have skills in C++, you need not throw them but just mould them to suit
.NET environment. Currently four languages are available right out of the box namely – Visual Basic.NET, C# (pronounced as C-sharp), Jscript.NET and
Managed C++ (a dialect of Visual C++). There are many vendors that are working on developing language compilers for other languages (20+ language compilers are already available). The beauty of multi language support lies in the
fact that even though the syntax of each language is different, the basic capabilities of each language remain at par with one another.
• Multi-Device Support
Modern lift style is increasingly embracing mobile and wireless devices such as PDAs, mobiles and handheld PCs. . . .NET provides promising platform for programming such devices. .NET Compact Framework and Mobile Internet Toolkit are step ahead in this direction.
• Automatic memory management
While developing applications developers had to develop an eye on system resources like memory. Memory leaks were major reason in failure of applications. .NET takes this worry away from developer by handling memory on its own. The garbage collector takes care of freeing unused objects at appropriate intervals.
• Compatibility with COM and COM+
Before the introduction of .NET, COM was the de-facto standard for componentized software development. Companies have invested lot of money and efforts in developing COM components and controls. The good news is – you can still use COM components and ActiveX controls under .NET. This allows you to use your existing investment in .NET applications. .NET still relies on COM+ for features like transaction management and object pooling. In fact it provides enhanced declarative support for configuring COM+ application right from your source code. Your COM+ knowledge still remains as a valuable asset.
• No more DLL Hell
If you have worked with COM components, you probably are aware of “DLL hell”. DLL conflicts are a common fact in COM world. The main reason behind this was the philosophy of COM – “one version of component across machine”.
Also, COM components require registration in the system registry. .NET ends this DLL hell by allowing applications to use their own copy of dependent DLLs.
Also, .NET components do not require any kind of registration in system registry.
• Strong XML support
Now days it is hard to find a programmer who is unaware of XML. XML has gained such a strong industry support that almost all the vendors have released some kind of upgrades or patches to their existing software to make it “XML compatible”. Currently, .NET is the only platform that has built with XML right into the core framework. .NET tries to harness power of XML in every possible way. In addition to providing support for manipulating and transforming XML
documents, .NET provides XML web services that are based on standards like HTTP, XML and SOAP.
• Ease of deployment and configuration
Deploying windows applications especially that used COM components were always been a tedious task. Since .NET does not require any registration as such,
much of the deployment is simplified. This makes XCOPY deployment viable.
Configuration is another area where .NET – especially ASP.NET – shines over traditional languages. The configuration is done via special files having special
XML vocabulary. Since, most of the configuration is done via configuration files,
there is no need to sit in front of actual machine and configure the application manually. This is more important for web applications; simply FTPing new configuration file makes necessary changes.
• Security
Windows platform was always criticized for poor security mechanisms. Microsoft has taken great efforts to make .NET platform safe and secure for enterprise applications. Features such as type safety, code access security and role based
authentication make overall application more robust and secure.
No comments:
Post a Comment