Home Будинок » » Dot Net Чистий Dot

LINQ Tutorial with Dot Net Framework 3.0 and 3.5 LINQ Підручник з Dot Net Framework 3.0 та 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. Завдяки розвитку технологій та баз даних стало великою проблемою для отримання даних, швидше і з меншим тягарем з програмної частини.

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. Стало очевидним, що наступна велика проблема в технології програмування полягає в тому, щоб зменшити складність доступу та обліку інформації, яка не є рідною визначається за допомогою технології OO. The two most common sources of non-OO information are relational databases and XML. Два найбільш поширених джерел, не OO інформації реляційними базами даних і XML.

The major advantage of Основною перевагою Microsoft's LINQ Project Microsoft LINQ в проекті 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. це загальний підхід, які вони прийняли, оскільки вони інтегровані у мову запитів, незалежно від яких-небудь конкретних part.Language Комплексной Запит може бути використаний з XML, бази даних або що-небудь, який здатний повернутися IENUMERABLE.

Here is a small tutorial that can explaining. Ось невелике навчальний посібник, який може пояснити. This is specially for my readers who love to do to porgamming. Це спеціально для моїх читачів, які люблять робити 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. Це фрагмент, який я знайшов у собі документ, який може висловити влада LINQ і програмістів точка дійсно чиста усмішка.

using System; using System.Query; за допомогою системи з допомогою System.Query;
using System.Collections.Generic; використовуючи System.Collections.Generic;
class app { клас прим (
static void Main() { статичні недійсним Main () (
string[] names = { “Burke”, “Connor”, “Frank”,“Everett”, “Albert”, “George”,”Harris”, “David” }; Рядок [] = (імена "Берка", "Коннор", "Франк", "Еверет", "Альберт", "Джордж", "Харріс", "Давид");

IEnumerable expr = from s in names IEnumerable Expr = від S в назвах
where ( s.Length == 5 orderby s ) де (s.Length == 5 "Порядок сортування и)
select s.ToUpper(); виберіть s.ToUpper ();
foreach (string item in expr) foreach (рядок пункту в Expr)
Console.WriteLine(item); Console.WriteLine (пункт);

} )

} )

How Linq works with XML ? Як Linq роботи з 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. У розширюваність запиту архітектура використовується в проекті LINQ собі уявити реалізаціях цієї роботи протягом як XML і SQL даних.

Xpath and Xquery which is used heavily is in the host programming language. XPath і XQuery, який використовується в значній мірі знаходиться в приймаючій мова програмування. 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) Вот опять один фрагмент коду для показу, наскільки легко працювати з LINQX (так, що те, що його призвали в XML)

The Standard way is done as follows: Стандартний спосіб здійснюється наступним чином:

XmlDocument doc = new XmlDocument(); XmlDocument = новий документ XmlDocument ();
XmlElement name = doc.CreateElement(”name”); XmlElement ім'я = doc.CreateElement ( "ім'я");
name.InnerText = “Patrick Hines”; name.InnerText = "Патрік Хайнс";
XmlElement phone1 = doc.CreateElement(”phone”); XmlElement phone1 = doc.CreateElement ( "телефон");
phone1.SetAttribute(”type”, “home”); phone1.SetAttribute ( "тип", "дому");
XmlElement phone2 = doc.CreateElement(”phone”); XmlElement phone2 = doc.CreateElement ( "телефон");
phone2.SetAttribute(”type”, “work”); phone2.SetAttribute ( "тип", "робота");
XmlElement street1 = doc.CreateElement(”street1″); XmlElement street1 = doc.CreateElement ( "street1");
XmlElement city = doc.CreateElement(”city”); XmlElement місто = doc.CreateElement ( "Місто");
city.InnerText = “Mercer Island”; city.InnerText = "Мерсер" Острів ";
XmlElement state = doc.CreateElement(”state”); XmlElement стан = doc.CreateElement ( "держава");
state.InnerText = “WA”; state.InnerText = "ВД";
XmlElement postal = doc.CreateElement(”postal”); XmlElement поштову = doc.CreateElement ( "поштових");
postal.InnerText = “68042″; postal.InnerText = "68042";
XmlElement address = doc.CreateElement(”address”); XmlElement адреса = doc.CreateElement ( "адреса");
address.AppendChild(street1); address.AppendChild (street1);
address.AppendChild(city); address.AppendChild (місто);
address.AppendChild(state); address.AppendChild (стан);
address.AppendChild(postal); address.AppendChild (поштова);
XmlElement contact = doc.CreateElement(”contact”); XmlElement контакт = doc.CreateElement ( "Контакт");
contact.AppendChild(name); contact.AppendChild (найменування);
contact.AppendChild(phone1); contact.AppendChild (phone1);
contact.AppendChild(phone2); contact.AppendChild (phone2);
contact.AppendChild(address); contact.AppendChild (адреса);
XmlElement contacts = doc.CreateElement(”contacts”); XmlElement контакти = doc.CreateElement ( "контакти");
contacts.AppendChild(contact); contacts.AppendChild (контакт);
doc.AppendChild(contacts); doc.AppendChild (контакти);

If we see it little closer the above code , This style of coding provides few clues to the structure of the XML tree. Якщо ми бачимо, це трохи ближче вище код, цей стиль кодування дає кілька ключів до структури XML-дерева. but with LINQX it becomes more of what they as functional construct.Here is what how u code the same with LINQX…. але з LINQX стає більше з того, що вони, як функціональна construct.Here є те, що, як у того ж коду з LINQX ....

XElement contacts = new XElement XElement контактів = нова XElement
(”contacts”,new XElement(”contact”, ( "Контакти", нові XElement ( "Контакт",
new XElement(”name”, “Patrick Hines”), нові XElement ( "Ім'я", "Патрік Хайнс"),
new XElement(”phone”, “206-555-0144″, нові XElement ( "телефон", "206-555-0144",
new XAttribute(”type”, “home”)) нові XAttribute ( "тип", "вдома"))
,new XElement(”phone”, “425-555-0145″,new XAttribute(”type”, “work”)), , Нові XElement ( "телефон", "425-555-0145", Нью-XAttribute ( "тип", "робота")),
new XElement(”address”,new XElement(”street1″, “123 Main t”), нові XElement ( "адреса", нові XElement ( "street1", "123 Main т"),
new XElement(”city”, “Mercer Island”), нові XElement ( "місто", "Мерсер" Острів "),
new XElement(”state”, “WA”),new XElement(”postal”,”6843″) нові XElement ( "Держава", "Вашингтон"), новий XElement ( "поштовий", "6843")

This is so simple no hassles at all. Це так просто немає суєти на всіх.

How LINQ works with database Як LINQ працює з базою даних

Yup its done By Microsoft again under LINQD(thats LINQ for database). Yup своєї виконану Microsoft знову під LINQD (Thats LINQ для баз даних). The query operators over relational data (DLinq) build on the integration of SQL-based schema definitions into the CLR type system. За запитом оператора за реляційних даних (DLinq) побудувати з інтеграції SQL основі схеми визначення в CLR тип системи.

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. Така інтеграція забезпечує надійне набравши понад реляційних даних, зберігаючи при цьому виразна сила реляційної моделі і виконання запитів оцінки безпосередньо в основному сховищі.

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. Те, що ми колінчастий знати структуру бази даних, таблиці ми хочемо вирішувати цю проблему та створити клас точності, які мають приватні змінні, як колони, що лежать на столі може сказати, як врятувати easy.Thus простим чином ми створюємо об'єкт в рядок з цієї таблиці в пам'яті, і робити операцію, що і попросити кого-то врятувати it.Moreover ми можемо звернутися з проханням про збір цих рядків для одержання більш ніж одного запису, і зробити запит на ньому .. isn't цієї великої немає суєти до бази даних SQL.

1. 1. Create an entity class with mapping to database table like this:- Створити орган класу з відображенням даних таблиці наступним чином: --

[Table(Name="Customers")] [Таблиця (Ім'я = "Клієнти")]
public class Customer Public Class клієнтів
{ (
[Column (Id=true)] [Колонка (ID = True)]
public string CustomerID; громадськості рядок CustomerID;
private string _City; приватні рядок _City;
[Column(Storage = "_City")] [Колонка (зберігання = "_City")]
public string City Рядок громадськості міста
{ (
get { return this._City; } (одержати повернення this._City;)
set { this._City = value; }}} кількість (this._City = значення;)))

2.Create a Data context to load from database 2.Create в даних умовах для завантаження з бази даних

static void Main(string[] args){ Головний статичного недійсним (рядок [] аргументи) (
// Use a standard connection string / / Використовуйте стандартну рядок підключення
DataContext db = new DataContext( DataContext DB = новий DataContext (
@”C:Program FilesLINQ PreviewDatanorthwnd.mdf”); @ "C: \ Program FilesLINQ PreviewDatanorthwnd.mdf");
// Get a typed table to run queries / / Отримати набрав стіл для запуску запитів
Table Customers = db.GetTable(); Таблиця Клієнти = db.GetTable ();

3.Query what you get…. 3.Query, що ви отримаєте ....

// Attach the log showing generated SQL to console / / Приєднати журналі з зазначенням породжених SQL на консоль
// This is only for debugging / understanding the working of DLinq / / Це тільки для налагодження / розуміння роботи DLinq
db.Log = Console.Out; db.Log = Console.Out;
// Query for customers in London / / Запит для замовників у Лондоні
var custs = VAR custs =
from c in Customers Від З Замовники
where c.City == “London” де c.City == "Лондон"
select c; виберіть C;
} )

Thats how it works with database….easy isn't it…This Technology will come with Thats, як вона працює з базою даних .... Просто немає ... Ця технологія прийде з DotNet Framework 3.0 DotNet Framework 3.0 and with C#3.0 and VB 9. і з C # 3.0 та В.Б. 9. I havent covered every thing but just a quick glance which can get grasping things faster. Я нету охоплені всі, але лише побіжний погляд, який може отримати вистачати речі швидше. If you want to read more on it see the Якщо Ви хочете прочитати більше про його бачити Microsoft's LINQ Project Microsoft LINQ в проекті

Related : По темі: Linq provider for Twitter API Linq провайдера щебетати по API

Tagged with: З тегами:

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

SMS підпискаPrint This Post

Posted on 21st May 2007 by Опубліковано 21 травня 2007 року Ashish Mohta Ashish Mohta , A tech blogger who writes about solving day to day problems of people who use computer. , А тек блогери, який пише про вирішення повсякденних проблем людей, які використовують комп'ютер. He also writes on How to use the applications like Office, PC tips, Online tools,Browsers and more. All posts by Він також пише про те, як використовувати у програмах, як управління, PC поради, онлайн інструменти, браузери та багато чого іншого. Всі посади Ashish Mohta Ashish Mohta | Connect with me @ | Зв'язатися зі мною @ Twitter Щебетати | | Linkedin LinkedIn | | Facebook Facebook | | Stumble Stumble | Need more help? | Потрібна допомога? Ask your Questions at our Задайте свої питання на нашому Support Center Центр підтримки

6 Comments 6 Коментарі » »

  • Oliver Олівер said: сказав:

    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. Я не розумію .... Ви пишете про те, як використовувати інструменти в офісі, коли одна із самих основних (орфографії) явно пішли невикористані в цьому звіті. Thumbs way down to you Hashish. Thumbs шлях вниз до вас гашишу. Way down. Шлях вниз.

  • Ashish Mohta Ashish Mohta (author) said: (автор) сказав:

    Hi Oliver, Why dont you enlighten all of us reading this with your devine knowledge on this subject ? Привіт Олівер Чому Dont ви просвітити нас всіх читати це з вашої Девайн знань з цього питання?

    Regards Привет
    ASHISH ( without start H in Hashish ) ASHISH (без запуску H в Хашіш)

  • Stjepan said: Stjepan сказав:

    heavily — heavily сильно - сильно
    explaing — explain explaing - роз'яснити
    lil ??? Lil? — little - Мало
    fo — to для - в
    hassels — hassels hassels - hassels
    isint — isn't isint - це не
    Frameowrk – Framework Frameowrk - Рамки

    Here is a free tip for you — Tools > Spelling and Grammar… Ось безкоштовно Підказка для Вас - Сервіс> Перевірка орфографії та граматики ...

  • Ashish Mohta Ashish Mohta (author) said: (автор) сказав:

    @Stjepan and Oliver : Thanks for pointing it out. @ Stjepan і Олівер: Спасибо, вказавши його. I guess I still get scolded for my older posts but thanks. Думаю, я, як і раніше, отримувати брані моїх старих постів, но спасибо. I had made the corrections Я зробив коригування

  • Tiiso :D said: Tiiso: D сказав:

    Hello, Ashish, thanks for the post. Здравствуйте, Ashish, спасибо за повідомлення. As for Stjepan lol he still spelt Hassles wrong. Що стосується Stjepan LOL він до сих пір чітко суєти неправильно. So sad. Так сумно. Enjoy. Отримувати задоволення. Keep up the good work Слідкуйте за хорошу роботу : D

  • Ashish Mohta Ashish Mohta (author) said: (автор) сказав:

    Thanks Tisso!! Завдяки Tisso!!

Leave your response! Залиште свій відгук!

Be nice. Бути красивим. Keep it clean. Тримайте його в чистоті. Stay on topic. Перебування на темі. No spam. Не спам.

Ім'я

You can use these tags: Ви можете використовувати ці теги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>