PDA

View Full Version : تضاد بین چند لایه بودن و Linq ؟!



Marjan_pr
سه شنبه 19 آذر 1387, 02:29 صبح
دوستان عزیز ،
این طور که من فهمیدم استفاده از مبحث جدید ارائه شده Linq ، با برنامه نویسی چند لایه تضاد داره ، آخه تمام کدها رو باید تو همون لایه رویه (interface) نوشت !!
درست میگم ؟! لطفا نظر بدین

علیرضا مداح
سه شنبه 19 آذر 1387, 10:02 صبح
سلام دوست عزیز،
تضادی وجود ندارد، اما در به کارگیری آن در سناریوهای N-Tier ممکن است با مشکلاتی روبرو شوید،
به نمونه هایی از این دست توجه نمایید:



N-Tier and Remote Applications with LINQ to SQL (http://msdn.microsoft.com/en-us/library/bb882661.aspx)
LINQ to SQL N-Tier with ASP.NET (http://msdn.microsoft.com/en-us/library/bb882682.aspx)
LINQ to SQL N-tier Smart Client (http://code.msdn.microsoft.com/linqntier)
Wrox - LINQ-ifying TheBeerHouse: An N-Tier LINQ Web Application (http://media.wiley.com/product_ancillary/9X/04704156/DOWNLOAD/TheBeerHouse_LINQ.zip)
Beth Massi Blog (http://blogs.msdn.com/bethmass)

LINQ to SQL N-Tier Smart Client - Part 1 Building the Middle-Tier (http://blogs.msdn.com/bethmassi/archive/2008/04/12/linq-to-sql-n-tier-smart-client.aspx)
LINQ to SQL N-Tier Smart Client - Part 2 Building the Client (http://blogs.msdn.com/bethmassi/archive/2008/04/14/linq-to-sql-n-tier-smart-client-part-2-building-the-client.aspx)
LINQ to SQL N-Tier Smart Client - Part 3 Database Transactions (http://blogs.msdn.com/bethmassi/archive/2008/04/16/linq-to-sql-n-tier-smart-client-part-3-database-transactions.aspx)


و اما در مورد نگارش فعلی Entity Framework :
به گفته ی یکی از مدریتورهای MSDN Forums:




This is a very common question, and the answer is complex.


The key challenge revolves around change tracking and serialization, both of which DataSet does well.


So perhaps the best place to go to get an understanding is Danny Simmons blog (http://blogs.msdn.com/dsimmons), in particular his posts about his EntityBag sample.


http://blogs.msdn.com/dsimmons/archive/2008/01/20/entitybag-part-i-goals.aspx
http://blogs.msdn.com/dsimmons/archive/2008/01/20/entitybag-part-ii-modes-and-constructor.aspx
http://blogs.msdn.com/dsimmons/archive/2008/01/21/entitybag-part-iii-public-surface-and-serialization.aspx
http://blogs.msdn.com/dsimmons/archive/2008/01/22/entitybag-part-iv-contextsnapshot-fields-and-properties.aspx
http://blogs.msdn.com/dsimmons/archive/2008/01/23/entitybag-part-v-contexsnapshot-constructing-and-applying.aspx
http://blogs.msdn.com/dsimmons/archive/2008/01/24/entitybag-part-vi-relationshipentry.aspx
http://blogs.msdn.com/dsimmons/archive/2008/01/28/entitybag-wrap-up-and-future-directions.aspx



I hope this helps
Alex
ref : http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3069713&SiteID=1


،/

Marjan_pr
دوشنبه 31 فروردین 1388, 15:44 عصر
( دوباره این موضوع رو راه میندازم )


لطفا نظر بدید که برای طراحی پروژه های بزرگ ، کدوم مناسبتره ( Linq یا N-tire ) ؟!

آیا این موضوع که در نسخه های بعدی VS بحث Linq پیشرفتی نمیکنه ، صحت داره ؟!

masoud.ramezani
دوشنبه 31 فروردین 1388, 16:47 عصر
سلام
اینها که با هم تضادی ندارند. در لایه Data Access از Linq استفاده کنید.

Marjan_pr
سه شنبه 01 اردیبهشت 1388, 23:21 عصر
دوست عزیز ، مگه لایه Data Access رو پروسیجرها و تریگر های و ... داخل بانک نیستند ؟!
اگه قرار باشه linq رو توی این لایه مورد استفاده قرار بدیم ( اگه امکانش باشه ؟ ) ، مهمترین مزیت linq که merge شدن و دیباگ کردن کدها توی محیط توسعه (IDE ) است رو نداریم !! واقعا برام مبهمه ! شاید مفهوم Linq رو درست متوجه نشدم .

masoud.ramezani
چهارشنبه 02 اردیبهشت 1388, 15:07 عصر
نه، فقط صرفا جایی رو میگند که Data رو بخونه و بنویسه روی DB

egoldashraf
پنج شنبه 03 اردیبهشت 1388, 00:52 صبح
میتونید برای لایه دیتا از یه پروژه ClassLibrary استفاده کنید که در اون از Linq برای خوندن و نوشتن دیتا در دیتابیس استفاده کرده باشید.
برای نوشتن لایه دیتا هم میتونید یه سری به اینجا (http://barnamenevis.org/forum/showthread.php?t=155936) بزنید.