PDA

View Full Version : سوال: تبدیل کوئری های sql به linq



hastiam
چهارشنبه 05 بهمن 1390, 15:18 عصر
سلام
من یه سری کوئری های از پیش تعریف شده دارم که می خوام وقتی روی یک دکمه کلیک شد دستور مربوطه اجرا شود.
به عنوام مثال :

select * from Person where Age =22

کوئری هایی هم که دارم مثل دستور بالا همشون ساده و در حد یک select ساده هستند.:لبخندساده:


حالا سوال من اینه که میشه این دستورات رو با کدنویسی به دستورات linq تبدیل کرد و بعد دستور linq رو اجرا کرد؟ مثلا عبارت بالا رو به عبارت زیر تبدیل کرد :

from i in DB.Persons where i.Age==22 Select i

دلیل من برای این کار اینه که کل برنامم رو با linq نوشتم و می خوام برای اجرای این کوئری ها هم از linq استفاده کنم.
اگه راهی وجود داره لطفا کمکم کنید.:افسرده:

charkhkar
چهارشنبه 05 بهمن 1390, 15:41 عصر
سلام
دوست عزیز من دقیقاً منظورتون رو متوجه نشدم اگه منظورتون اینه که دستورات select و یا هر دستور SQL دیگری را می خواهید به Query LinQ تبدیل کنید امکانش هست اگر نه که واضح تر توضیح دهید.
با تشکر

hastiam
چهارشنبه 05 بهمن 1390, 16:09 عصر
سلام
دوست عزیز من دقیقاً منظورتون رو متوجه نشدم اگه منظورتون اینه که دستورات select و یا هر دستور SQL دیگری را می خواهید به Query LinQ تبدیل کنید امکانش هست اگر نه که واضح تر توضیح دهید.
با تشکر

منظورم اینه که آیا امکانش هست یه برنامه ای بنویسم که دستورات sql ای رو بگیره و به Query LinQ تبدیل کنه و بعد اون Query LinQ رو اجرا کنه؟ می خوام با برنامه (کدنویسی) این تبدیلات انجام بشه.

charkhkar
پنج شنبه 06 بهمن 1390, 02:34 صبح
سلام
دوست عزیز امکانش هست! اگر شما قصد داشته باشید که Query های ساده را تبدیل کنید اما اگر قصدتان تبدیل کلیه دستورات SQL به LinQ می باشد باید بگم که احتیاج به دانش کاملی از LinQ دارید و در واقع شما قصد ساخت یک Convertor فوق العاده قوی را دارید؟.

amir3321
پنج شنبه 06 بهمن 1390, 09:17 صبح
فکر کنم این دوتا نرم افزار بدرد ت بخوره هر دوتا این کار رو انجام می دهند
لینک 1 (http://www.sqltolinq.com/)
لینک 2 (http://www.linqpad.net/)

hastiam
جمعه 07 بهمن 1390, 11:08 صبح
سلام
دوست عزیز امکانش هست! اگر شما قصد داشته باشید که Query های ساده را تبدیل کنید اما اگر قصدتان تبدیل کلیه دستورات SQL به LinQ می باشد باید بگم که احتیاج به دانش کاملی از LinQ دارید و در واقع شما قصد ساخت یک Convertor فوق العاده قوی را دارید؟.

بله دوست من، من فقط می خوام یک سری query های خیلی ساده مثل مثالی که بالا نوشتم رو به linq تبدیل کنم.
حالا اگه امکان داره میشه لطف کنید یک مثال ساده از این نوع تبدیل بزنید؟

hastiam
جمعه 07 بهمن 1390, 11:10 صبح
فکر کنم این دوتا نرم افزار بدرد ت بخوره هر دوتا این کار رو انجام می دهند
لینک 1 (http://www.sqltolinq.com/)
لینک 2 (http://www.linqpad.net/)

دوست عزیز می خوام با کدنویسی این تبدیلات رو انجام بدم و نمی خوام از یک نرم افزار استفاده کنم.

amir3321
جمعه 07 بهمن 1390, 18:59 عصر
من نفهمیدم اگه کوئری هات رو داری و فقط می خواهی تبدیل کنی به linq با این نرم افزار ها راحت این کار قابل انجام است ولی اگر می خواهی در زمان اجرا یعنی runtime کوئری بسازی در EF باید با EXPRESSION TREE کار کنی که یکم کار باهاش به نظر من سخته و اگر با LINQ TO SQL قبلی کار می کنی راحترین راه DYNAMIC QUERY هست و می تونی راحت این کار رو انجام بدی ولی اگر می خواهی در زمان اجرا تو یک TSQL رو به LINQ تبدیل کنی باید یک تابع بلند بالا بنویسی
نمیدونم به جواب رسیدی یا نه

hastiam
شنبه 08 بهمن 1390, 08:02 صبح
اگر می خواهی در زمان اجرا تو یک TSQL رو به LINQ تبدیل کنی باید یک تابع بلند بالا بنویسی


دقیقا منظورم این بود.
حالا اگه امکانش هست یک مثال ساده بزنید تا بفهمم برای این تبدیلات چه تابعی باید بنویسم.

amir3321
شنبه 08 بهمن 1390, 12:25 عصر
ببین یک کلاس نمونه برات می ذارم برای تبدیل string به linq to sql یک نگاهی بینداز فکر کنم متوجه بشی که چرا می گم سخته
81594