PDA

View Full Version : برنامه تبدیل دستور SQL به LINQ دانلود کنید



Royce_Da
چهارشنبه 25 شهریور 1388, 23:21 عصر
سلام

امیدوارم به دردتون بخوره

دانلود : http://evilshare.com/7bo4ca18mete/Linqer.zip.html

hasanshamim
جمعه 27 شهریور 1388, 12:51 عصر
می تونید کمی درباره Linq برام توضیح بدید(با مثال)...

ali.hojjati
جمعه 27 شهریور 1388, 13:50 عصر
LinQ روش جدیدی از برای کار کردن با بانک های اطلاعاتی است. بیشتر از این نمی دونم. شرمنده.

Royce_Da
جمعه 27 شهریور 1388, 20:58 عصر
LINQ

(تلفظ می شود “لینک”) مخفف Language INtegrated Query یکی از اجزای پلتفرم برنامه نویسی دات نت (http://farasun.wordpress.com/category/%d8%af%d8%a7%d8%aa-%d9%86%d8%aa/) شرکت مایکروسافت است که قدرت کار با داده های مختلف را به زبانی شبیه زبان SQL به توسعه دهندگان می دهد. LINQ در 19 نوامبر 2007 به عنوان قسمتی از دات نت فریم ورک 3.5 عرضه شد.


http://farasun.files.wordpress.com/2008/09/linq.jpg?w=371&h=104

منطق و دستورات لینک شبیه به زبان SQL است با این تفاوت که به تنهایی کابردی ندارد. شما باید از زبان لینک در کنار یکی از زبان های دات نت استفاده کنید تا به مقصود خود برسید در صورتی که زبان SQL یک زبان مستقل برای کار با داده هاست. اگر برنامه نویس باشید می دانید که برای دستیابی به داده های موجود در یک بانک اطلاعاتی علاوه بر استفاده از فناوری های دستیابی به داده همچون ADO باید از زبان SQL نیز استفاده کنید. مشکلی که برنامه نویسان قبل از ارائه لینک با آن مواجه بودند این بود که لایه دسترسی به داده ها از روش و منظقی متفاوت از لایه های دیگر عمل می کند. مثلاً در نظر بگیرید در یک برنامه مبتنی بر بانک اطلاعاتی برنامه نویس باید داده ها را از یک بانک اطلاعاتی با استفاده از دستورات SQL بخواند و سپس با منطق زبان برنامه نویسی آن ها را به لایه نمایش بفرستد. این عدم سازگاری لایه های نرم افزاری مشکلات زیادی به همراه می آورد. امروزه برنامه نویسان بر اساس مدل “شیء گرا” کدهای خود را می نویسند. واژه هایی همچون کلاس، شیء، متد و وراثت برای برنامه نویسان آشناست و آن ها هر روز در پروژه هایشان از آن ها استفاده می کنند. در این میان یکی از مشکلات برنامه نویسان شیء گرا، عدم شیء گرایی پایگاه های داده و داده های XML است. پروژه LINQ برای اضافه کردن قابلیت شیء گرایی به زبان SQL و در نتیجه پایگاه های داده و داده های XML بوجود آمد.


http://farasun.files.wordpress.com/2008/09/understandinglinq.gif?w=483&h=321

LINQ Structure
شرکت مایکروسافت برای غلبه بر مشکلات ذکر شده زبانی را طراحی نمود که در حال حاضر در دات نت فریم ورک 3.5 از آن استفاده می شود و همراه با ویژوال استادیو 2008 عرضه شده است. تمام سعی مایکروسافت بر این بوده که قواعد (Syntax) زبان لینک شبیه به زبان SQL باشد تا برنامه نویسان مجبور نباشند برای یادگیری آن وقت بگذارند. اگر برنامه نویس باشید می دانید که کوئری های زبان SQL را در یک زبان برنامه نویسی باید به صورت رشته ای (String) بنویسید و این بدین معنی است که در این صورت کوئری ها قابلیت اشکال زدایی (Debugging) نخواهند داشت. در این روش اشکال زدایی دستورات SQL بسیار مشکل خواهد بود و بعضی وقت ها واقعاً دردسر ساز خواهد شد. این را هم می دانید که دستورات SQL که به صورت رشته نوشته می شوند به همراه دیگر دستورات برنامه کامپایل نمی شوند و فقط به صورت ریسورس های رشته ای ذخیره می شوند. حالا در نظر داشته باشید که با لینک می توانید مشکلات بالا را برطرف کنید و کوئری های SQL را اشکال زدایی کنید. بدین ترتیب برنامه نویسان دات نت می توانند در هر یک از زبان های مورد حمایت دات نت همچون ویژوال بیسیک و سی شارپ از فناوری LINQ استفاده کنند و از مزایایی مثل خطایابی، IntelliSense (http://en.wikipedia.org/wiki/IntelliSense) و قدرت ویژوال استادیو استفاده کنید. به یاد داشته باشید که LINQ فقط برای داده های موجود در بانک های اطلاعاتی مورد استفاده قرار نمی گیرد بلکه صرف نظر از منبع داده ها LINQ قادر است با داده های آرایه های مختلف، کلاس ها، اشیای مختلف و فایل های XML مورد استفاده قرار گیرد.


منبع : http://farasun.wordpress.com/2008/09/09/linq-intro/

fox999
شنبه 05 دی 1388, 20:12 عصر
این برنامه دوستان تاییدش می کنند از لحاظ درست کار کردن ؟

davoodrm666_666
دوشنبه 07 دی 1388, 08:47 صبح
این برنامه دوستان تاییدش می کنند از لحاظ درست کار کردن ؟

برای یاد گیری بد نیست اما بعضی از کد هایی که generate می کنه رو راحت تر می شه نوشت


Sql:
select max(codkala)
from kala

Linqer Generate:
From t In _
(From t In db.Kala _
Select _
t.Codkala, _
t, _
Dummy = "x" _
) _
Group t By t.Dummy Into g = Group _
Select New With { _
.Column1 = g.Max(Function(p) p.Codkala) _
}

Me:
(From t In db.Kala _
Select t.Codkala).max

همچنین insert /delete/ update رو ساپورت نمی کنه البته من ورژن 2 رو امتحان کردم

spicirmkh
شنبه 27 خرداد 1391, 18:03 عصر
دوستان کد فعال سازی Linqer کسی دارد