Home Hjem » » Dot Net Dot Net

LINQ Tutorial with Dot Net Framework 3.0 and 3.5 LINQ introduksjonskurs med Dot Net Framework 3.0 og 3.5

With the advancement of technologies and database it has become a great challenge to retrieve data faster and with less burden on programming part. Med fremme av teknologier og database har det blitt en stor utfordring å hente data raskere og med mindre belastning på programmeringsspråk del.

It has become apparent that the next big challenge in programming technology is to reduce the complexity of accessing and integrating information that is not natively defined using OO technology. Det har blitt klart at det neste store utfordringen i programmering teknologien er å redusere kompleksiteten i å få tilgang til og integrere informasjon som ikke innebygd definert bruker OO teknologi. The two most common sources of non-OO information are relational databases and XML. De to vanligste kilder til ikke-OO informasjon relasjonelle databaser og XML.

The major advantage of Den store fordelen med Microsoft's LINQ Project Microsofts LINQ Project is the general approach they have taken because they have integrated a query language irrespective of any specific part.Language Integrated Query can be used with XML,Database or anything which is capable of returning IENUMERABLE. er den generelle tilnærmingen de har tatt fordi de har integrert en spørring språk uavhengig av en bestemt part.Language Integrated Query kan brukes med XML, database eller noe som er i stand til å returnere IENUMERABLE.

Here is a small tutorial that can explaining. Her er en liten tutorial som kan forklare. This is specially for my readers who love to do to porgamming. Dette er spesielt for mine lesere som elsker å gjøre for å porgamming.

This is a snippet which i found in the doc itself which can express the power of LINQ and make programmers of dot net really smile. Dette er en tekstbit som jeg fant i doc selv som kan uttrykke makt LINQ og foreta programmerere av dot netto virkelig smile.

using System; using System.Query; bruker System; bruker System.Query;
using System.Collections.Generic; bruker System.Collections.Generic;
class app { klasse app. (
static void Main() { static void main () (
string[] names = { “Burke”, “Connor”, “Frank”,“Everett”, “Albert”, “George”,”Harris”, “David” }; string [] navn = ( "Burke", "Connor", "Frank", "Everett", "Albert", "George", "Harris", "David");

IEnumerable expr = from s in names IEnumerable expr = fra S i navn
where ( s.Length == 5 orderby s ) der (s.Length == 5 orderby s)
select s.ToUpper(); velger s.ToUpper ();
foreach (string item in expr) foreach (string i expr)
Console.WriteLine(item); Console.WriteLine (element);

} )

} )

How Linq works with XML ? Hvordan Linq arbeider med XML?

The extensibility of the query architecture is used in the LINQ project itself to provide implementations that work over both XML and SQL data. Den Utvidelses av spørringen arkitektur brukes i LINQ prosjektet selv å gi implementeringer som fungerer over både XML og SQL data.

Xpath and Xquery which is used heavily is in the host programming language. Xpath og Xquery som brukes mye i vert programmeringsspråk. Here is again a code snippet for showing how easy it is to work with LINQX(yes that's what its called for XML's) Her er igjen en kodebit for å vise hvor enkelt det er å arbeide med LINQX (ja det er hva det heter for XML's)

The Standard way is done as follows: Standard måte gjøres som følger:

XmlDocument doc = new XmlDocument(); XmlDocument doc = new XmlDocument ();
XmlElement name = doc.CreateElement(”name”); XmlElement navn = doc.CreateElement ( "navn");
name.InnerText = “Patrick Hines”; name.InnerText = "Patrick Hines";
XmlElement phone1 = doc.CreateElement(”phone”); XmlElement phone1 = doc.CreateElement ( "telefon");
phone1.SetAttribute(”type”, “home”); phone1.SetAttribute ( "type", "home");
XmlElement phone2 = doc.CreateElement(”phone”); XmlElement phone2 = doc.CreateElement ( "telefon");
phone2.SetAttribute(”type”, “work”); phone2.SetAttribute ( "type", "arbeid");
XmlElement street1 = doc.CreateElement(”street1″); XmlElement street1 = doc.CreateElement ( "street1");
XmlElement city = doc.CreateElement(”city”); XmlElement by = doc.CreateElement ( "by");
city.InnerText = “Mercer Island”; city.InnerText = "Mercer Island";
XmlElement state = doc.CreateElement(”state”); XmlElement state = doc.CreateElement ( "stat");
state.InnerText = “WA”; state.InnerText = "WA";
XmlElement postal = doc.CreateElement(”postal”); XmlElement postnummer = doc.CreateElement ( "postnettet");
postal.InnerText = “68042″; postal.InnerText = "68042";
XmlElement address = doc.CreateElement(”address”); XmlElement adresse = doc.CreateElement ( "adresse");
address.AppendChild(street1); address.AppendChild (street1);
address.AppendChild(city); address.AppendChild (by);
address.AppendChild(state); address.AppendChild (stat);
address.AppendChild(postal); address.AppendChild (postnummer);
XmlElement contact = doc.CreateElement(”contact”); XmlElement kontakt = doc.CreateElement ( "kontakt");
contact.AppendChild(name); contact.AppendChild (navn);
contact.AppendChild(phone1); contact.AppendChild (phone1);
contact.AppendChild(phone2); contact.AppendChild (phone2);
contact.AppendChild(address); contact.AppendChild (adresse);
XmlElement contacts = doc.CreateElement(”contacts”); XmlElement kontakter = doc.CreateElement ( "kontakter");
contacts.AppendChild(contact); contacts.AppendChild (kontakt);
doc.AppendChild(contacts); doc.AppendChild (kontakter);

If we see it little closer the above code , This style of coding provides few clues to the structure of the XML tree. Hvis vi ser det litt nærmere ovenfor koden Denne stilen av koding gir noen ledetråder til strukturen i XML treet. but with LINQX it becomes more of what they as functional construct.Here is what how u code the same with LINQX…. men med LINQX blir det mer av det de som funksjonell construct.Here er hva hvordan u-koden samme med LINQX ....

XElement contacts = new XElement XElement kontakter = new XElement
(”contacts”,new XElement(”contact”, ( "Kontakter", ny XElement ( "kontakt",
new XElement(”name”, “Patrick Hines”), nye XElement ( "navn", "Patrick Hines"),
new XElement(”phone”, “206-555-0144″, nye XElement ( "telefon", "206-555-0144",
new XAttribute(”type”, “home”)) nye XAttribute ( "type", "home"))
,new XElement(”phone”, “425-555-0145″,new XAttribute(”type”, “work”)), nye XElement ( "telefon", "425-555-0145" nye XAttribute ( "type", "arbeid")),
new XElement(”address”,new XElement(”street1″, “123 Main t”), nye XElement ( "adresse", ny XElement ( "street1", "123 Main t"),
new XElement(”city”, “Mercer Island”), nye XElement ( "city", "Mercer Island"),
new XElement(”state”, “WA”),new XElement(”postal”,”6843″) nye XElement ( "stat", "WA"), nye XElement ( "postnummer", "6843")

This is so simple no hassles at all. Dette er så enkelt ingen problemer i det hele tatt.

How LINQ works with database Hvordan LINQ arbeider med database

Yup its done By Microsoft again under LINQD(thats LINQ for database). Yup sin gjort av Microsoft igjen under LINQD (dvs LINQ for database). The query operators over relational data (DLinq) build on the integration of SQL-based schema definitions into the CLR type system. Søkeprefikset operatører over relasjonelle data (DLinq) bygger på integrering av SQL-basert skjema definisjoner i CLR type system.

This integration provides strong typing over relational data while retaining the expressive power of the relational model and the performance of query evaluation directly in the underlying store. Denne integreringen gir sterk skrive over relasjonelle data samtidig som den ekspressive kraften i relasjonelle modellen og resultatet av søket evaluering direkte i underliggende butikken.

What we kneed to know is the structure of database table we want to deal with it and create a class exactly having private variables as columns of the underlying table say may be like save that easy.Thus in simple way we create an object of the row of that table in memory and do operation on that and ask somebody to save it.Moreover we can ask for a collection of those rows fo get more than one record and do a query on it..isnt that great no hassles of database sql. Hva vi kneed å vite strukturen i databasen tabellen vi ønsker å håndtere den og opprette en klasse akkurat har private variabler som kolonner i den underliggende tabellen sier kanskje like redde som easy.Thus i enkel måte vi skaper et objekt på rad av tabellen i minnet og gjøre driften på og spørre noen til å lagre it.Moreover vi kan be om en samling av de rader for mer enn ett posten og gjøre et søk på det .. isnt at stor ingen problemer med databasen SQL.

1. 1. Create an entity class with mapping to database table like this:- Opprett en enhet klasse med kartlegging til database tabellen slik: --

[Table(Name="Customers")] [Table (name = "kunder")]
public class Customer public class Customer
{ (
[Column (Id=true)] [Kolonne (Id = true)]
public string CustomerID; public string Kunde-ID;
private string _City; private String _City;
[Column(Storage = "_City")] [Kolonne (Storage = "_City")]
public string City public string City
{ (
get { return this._City; } Få (return this._City;)
set { this._City = value; }}} set (this._City = verdi;)))

2.Create a Data context to load from database 2.Create en Data sammenheng Beregnigner fra database

static void Main(string[] args){ static void Main (string [] args) (
// Use a standard connection string / / Bruk en standard tilkobling string
DataContext db = new DataContext( DataContext db = new DataContext (
@”C:Program FilesLINQ PreviewDatanorthwnd.mdf”); @ "C: Program FilesLINQ PreviewDatanorthwnd.mdf");
// Get a typed table to run queries / / Få skrevet tabellen for å kjøre spørringer
Table Customers = db.GetTable(); Tabell Kunder = db.GetTable ();

3.Query what you get…. 3.Query hva du får ....

// Attach the log showing generated SQL to console / / Fest loggen viser genererte SQL til konsoll
// This is only for debugging / understanding the working of DLinq / / Dette er bare for feilsøking / forstå arbeider av DLinq
db.Log = Console.Out; db.Log = Console.Out;
// Query for customers in London / / Søkestatistikk for kunder i London
var custs = var custs =
from c in Customers fra c i Kunder
where c.City == “London” der c.City == "London"
select c; velger c;
} )

Thats how it works with database….easy isn't it…This Technology will come with Dvs hvordan det fungerer med databasen .... Enkelt er det ikke ... Denne teknologien vil komme med DotNet Framework 3.0 DotNet Framework 3.0 and with C#3.0 and VB 9. og med C # 3.0 og VB 9. I havent covered every thing but just a quick glance which can get grasping things faster. Jeg har ikke dekket alle ting, men bare et raskt blikk som kan få grasping ting raskere. If you want to read more on it see the Hvis du vil lese mer om det se Microsoft's LINQ Project Microsofts LINQ Project

Related : Relatert: Linq provider for Twitter API Linq for Twitter API

Tagged with: Merket med:

SMS abonnerePrint This Post

Posted on 21st May 2007 by Skrevet på 21 mai 2007 av Ashish Mohta Ashish Mohta , A tech blogger who writes about solving day to day problems of people who use computer. , A tech blogger som skriver om løse daglige problemer for personer som bruker datamaskinen. He also writes on How to use the applications like Office, PC tips, Online tools,Browsers and more. All posts by Han skriver om hvordan du bruker programmer som Office, PC tips Online verktøy, Nettlesere og mer. Alle innlegg av Ashish Mohta Ashish Mohta | Connect with me @ | Kontakt med meg @ Twitter Twitter | | Linkedin Linkedin | | Facebook Facebook | | Stumble Snuble | Need more help? | Trenger du mer hjelp? Ask your Questions at our Still dine spørsmål i vår Support Center Support Center

6 Comments 6 Kommentarer » »

  • Oliver Oliver said: sa:

    I don't understand….you write on how to use tools in office, when one of the most basic (spellchecker) obviously went unused in this report. Jeg forstår ikke .... Skriver du om hvordan du bruker verktøyene i kontoret, når en av de mest grunnleggende (stavekontroll) åpenbart gikk ubrukt i denne rapporten. Thumbs way down to you Hashish. Tommelen ned for deg hasj. Way down. Nedover.

  • Ashish Mohta Ashish Mohta (author) said: (forfatter) sa:

    Hi Oliver, Why dont you enlighten all of us reading this with your devine knowledge on this subject ? Hei Oliver, Hvorfor dont du opplyse oss alle som leser dette med Devine kunnskap om dette temaet?

    Regards Hilsen
    ASHISH ( without start H in Hashish ) ASHISH (uten start H i hasj)

  • Stjepan said: Stjepan sa:

    heavily — heavily tungt - tungt
    explaing — explain explaing - forklare
    lil ??? LIL?? — little - Lite
    fo — to for - å
    hassels — hassels Hassels - Hassels
    isint — isn't isint - ikke
    Frameowrk – Framework Frameowrk - Framework

    Here is a free tip for you — Tools > Spelling and Grammar… Her er et gratis tips for deg - Verktøy> Stavekontroll og grammatikk ...

  • Ashish Mohta Ashish Mohta (author) said: (forfatter) sa:

    @Stjepan and Oliver : Thanks for pointing it out. @ Stjepan og Oliver: Thanks for å sette den ut. I guess I still get scolded for my older posts but thanks. Jeg tror jeg fortsatt få scolded for min eldre innlegg, men takk. I had made the corrections Jeg hadde gjort rettelser

  • Tiiso :D said: Tiiso: D sa:

    Hello, Ashish, thanks for the post. Hei, Ashish, takk for innlegget. As for Stjepan lol he still spelt Hassles wrong. Som for Stjepan lol han fremdeles spelt problemfritt galt. So sad. Så trist. Enjoy. Like. Keep up the good work Keep up the good arbeid : D

  • Ashish Mohta Ashish Mohta (author) said: (forfatter) sa:

    Thanks Tisso!! Takk Tisso!

Leave your response! Forlat ditt svar!

Be nice. Vær hyggelig. Keep it clean. Holde den ren. Stay on topic. Stay on topic. No spam. Ingen spam.

You can use these tags: Du kan bruke disse kodene:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिन्दी अनुवाद करने के लिए/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian