არაფერი არაა გასართობი... საკმაოდ სერიოზული ტექნოლოგიაა...
რაც შეეხება პროგრამისტის დაჩლუნგებას მაგაზე ჯობია ჯერ Java-ს მიმარტო და მერე გადახვიდე Microsoft-ზე რადგან ეგ ყველაფერი Java-ს დაწყებულია... თუნდაც ყველასტვის ცნობილი Hibernate გაიხსენე (თუ იცი) პრინციპი იგივეა... არანაირი SQL Query მხოლოდ ობიექტები... იგივეს აწვება MS-იც პროტა უფრო უკეთესად გააკეთა... მაგრამ რეალურად რა შუაშია LINQ ბასებთან ვერ გავიგე... შენ ლაპარაკობ დამატებით ფიჩერზე რომელსაც ქვია LINQ to SQL
მაგალითს მოგიყვან (თიმცა შენ უნდა იცოდე)
Dim usersList as new List(Of User)
Dim lst=from u in usersList.ToArray() _
where u.Name.StartsWith("gio") _
select u
ამისი ანალოგი იქნებ ასეთი
dim newList as new List(Of User)
for each u in usersList
if u.name.StartsWith("g") then
newList.Add(u)
end if
next
ამასთანავე LINQ-ს შეუძლია სხვა ობიექტი შეგიქმნას, და იმათი ლისტი დაგიბრუნოს, დაგისორტიროს და ასე შემდეგ....
რომელი უფრო კომფორტულია? ციკლების წერა და იზვრაშენცომა თუ ერთ ხაზში ყველაფრის ჩატევა?
მე ვარ პროგრამისტი... და პროგრამის წერის დროს ჩემთვის ყველაზე მნიშვნელოვანი არის კომფორტი... ანუ მე კომფორტულად უნდა ვიგრძნო თავი როცა ვწერ პროგრამას და MS მაგას საკმაოდ კარგად აღწევს... ხოლო რა შუაშია კომფორტი? აბა რატომ აქვს Java-ს ამდენი Framework-ები? ნებისმიერი შემთხვევისთვი და ნებისმიერი სირთულის დავალებისთვის?
ზუსტად მაგიტომ რომ იდეა იმაშია რომ პროგრამისტს არ უნდა უწევდეს სხვა რამეზე ფიქრი გარდა თვითონ პროგრამისა რომესაც წერს... Chart-ები დაგჭირდება? JFreeChart-ი არსებობს, ბაზები გინდა? Hibernate არსებობს, Scheduler-ი გინდა? Quartz-ი არსებობს.... და ასე შემდეგ.... ანუ შენ აღარ გიწევს არაფერზე ფიქრი გარდა იმ პროგრამისა რომესაც წერ... რაც საკმაოდ დიდ კომფორტს გიქმნის და ამცირებს დავალებების შესრულების დროს... ეგ არის ძააააააან მაგარი მიდგომა გინდა MS-ისგან და გინდ Java-სგანს... თუ არადა არსებობს VS6 მაგრამ რა მიიღო მაგითი MS-მა? არაფერი პროსტა ყველასთვის კრიტიკის ობიექტი გახდა... და პაგალოვნად ყველა გადავიდა Java-ზე...
შენ თუ მწვალებლობა გინდა მაშინ ეგერ გაქვს Notepad+(რამე ASM-ის კომპილატორი) და წერე ისეთივე დონის და შესაძლებლობების პროგრამა როგორიც არის MS Office... ხოდა ახაღ დაჩლუნგდები MS-ის ან Java-ს ახალი ტექნოლოგიებით და მათი კომფორტულობით
* * *
მე პირადად ერტად ერტი ნაკლი რაც შევამჩნიე LINQ to SQL-ს არის ის რომ Many-To-Many კავშირები არ კეთდება... კი კეთდება მაგრამ კრივად... შენ უნდა დაუწერო სამაგისო კოდი....
ხოლო კონრეტულად LINQ-ს ვერაფერი...
უფრო ნელია? ნუ ნაფიგ... ისე როგორ უნდა შეგინელოს რო კოშმარ ეს რა საზიზღრობააო თქვა? ან და ვაბშე თვალით რო შეამჩნიო ისეც არ შეანელებს ამიტომ არაფერი სანერვიულო არ არის მაგარი ვეშია ძაააან
* * *
ხოდა ისა კიდევ
თუ სხვა ბაზებთან გინდა მუშაობა ეგეც არაა პრობლემა... მე დავაყენე MySQL-ის კონექტორი და VS-მაც დაინახა და LINQ to SQL-შიც უპრობლემოდ გამოვიყენე... შექმნი ახალ Connection-ს MySQL ბაზასთან, მერე ჩამოშლი Table-ების სიას და მერე როგორ წესი... Drag And Drop-ით გადმოიტან Table-ს LINQ to SQL-ზე და თვითონ ფიქმნის ფორმასაც და მშვენივრადაც მუშაობს...
LINQ to SQL კიდევ იმითაა კომფორტული რომ როგორც პირველი შეხედვით ერთ ბაზას არ ებმევა...
შენ შეგიძლია ახალი ConnectionString-ი ჩაუწერო და სუ ცარიელ ბაზაში შექმნა ყველა ის Table რომელის ფორმაც გაქვს LINQ to SQL-ში
* * *
და ეგ კეთდება RunTime-ში და არა პროგრამის წერის დროს
* * *
LINQ to SQL აქვს იმის შესაძლებლობა რომ Debug კონსოლში გამოგიტანოს ყველა SQL query რომელსაც აგენერირებს და შეგიძლია ნახო რას აკეთებს და როგორ

LINQ-ს ვიდეობი ნახე რომელიც MS-ის საიტზე ყრია და იქაც არის ეგ ნაჩვენები