نمایش نتایج 1 تا 18 از 18

نام تاپیک: مقایسه LINQToSQL با ADO و معماری سه لایه

  1. #1
    کاربر تازه وارد آواتار saeid69
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    یزد
    پست
    52

    مقایسه LINQToSQL با ADO و معماری سه لایه

    با سلام هر که هر چی عیب از LINQ میدونه خواهشا بنویسه
    آخه من می خوام ببینم LINQ بهتره یا ADO

    خواهشا اونایی که اطلاع دارن ما هم رو بی نصیب نگذارند.

    این دو معقوله را با هم مقایسه کنیم

    1. از نظر سرعت
    2.از نظر پشتیبانی از پروژه های بزرگ
    3. از نظر امنیت
    4. از نظر راحتی و تغییرپذیری

  2. #2
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    با سلام هر که هر چی عیب از LINQ میدونه خواهشا بنویسه
    آخه من می خوام ببینم LINQ بهتره یا ADO
    خواهشا اونایی که اطلاع دارن ما هم رو بی نصیب نگذارند.
    Linq یک فن آوری جدید مبتنی بر Ado.net است، یعنی در بالای Ado.Net قرار دارد، پس در مقابل آن نیست، این تفکر در شما ایجاد نشه که Linq چیزی جدای از Ado.net است، شما میتونید در پروژه تون از هردوی اینها استفاده کنید، Linq به منظور افزایش بهره وری برنامه نویسان و تسریع در تولید نرم افزار ارائه شده و در مشتری شما هیچ نفعی از اینکه شما پروژه تون رو با Linq یا چیز دیگه ای نوشتید نمیبره (البته شاید از لحاظ سرعت عملی که شما در نوشتن برنامه ها با لینک دارید، مشتری زودتر به خواسته ش برسه و کمتر دچار دردسر بشید، این حسنی برای مشتری شما باشه!)
    یکی از مثالهایی که میتونید از ترکیب Linq و Ado.net معمولی استفاده کنید اینه که در جستجوهای خودتون از فن آوری Linq to DataSet استفااده کنید تا انعطاف پذیزی بیشتری رو به برنامه تون بدید(البته این دو رو هرطوری که بخواهید میتونید با هم ترکیب کنید و با هم استفاده کنید).

    این دو معقوله را با هم مقایسه کنیم

    1. از نظر سرعت
    2.از نظر پشتیبانی از پروژه های بزرگ
    3. از نظر امنیت
    4. از نظر راحتی و تغییرپذیری
    خوب اگه بخواهیم سرعت Linq رو بررسی کنیم، بهتره بگم که این فن آوری هیچ مزیتی نسبت به پدر خودش Ado.net نداره، دلیلش هم اینه که ابتدا دستور Linq شما توسط CLR بررسی به Expression Tree تبدیل میشه و سپس دستور Sql معادل آن تولید و به دیتابیس فرستاده میشه، همچنین در هنگام دریافت اطلاعات، مقدار زیادی متادیتا رو به همراه اطلاعات مورد نیاز بارگذاری میکنه و این باعث میشه که کمی کند کار کنه که البته زیاد نیست و قابل قبوله.
    البته Linq قابلیتهای خوبی هم در بهبود سرعت داره، یکی اینکه دستورات Sql ای که تولید میشه همه به صورت Parametrized Query هستند که هم باعث میشه در مقابل حملات Sql یا Sql-Injection محفوظ بمونه و هم در حافظه ی دیتابیس سرور Cache میشه که این باعث بهبود سرعت میشه.
    یکی از قابلیهای دیگر Linq امکان کامپایل کردن Query یا CompiledQuery می باشد که باعث میشه عملیات تبدیل رشته ی Linq به دستورات Sql نیز در حافظه Cache بشه و این نیز به بهبود سرعت بازیابی اطلاعات کمک شایانی خواهد کرد.

    طبق گفته های مایکروسافت، LinqToSql برای استفاده در پروژه های Small to Medium کاملا مناسب می باشد، و برای پشتیبانی از پروژه های بزرگ، Entity Framework بهتر است.

    از نظر امنیت هم که پیشتر گفتم.
    از لحاظ راحتی هم، واقعا کار با Linq لذت بخش و سرعت عملش بسیار بالاست.
    امیدوارم تونسته باشم پاسخ بیشتر سوالات دوستان رو در زمینه Linq داده باشم.

  3. #3
    کاربر تازه وارد آواتار saeid69
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    یزد
    پست
    52

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    با تشکر فراوان از hdv212 که راهنمایی های مفیدی رو در این زمینه نموده اند
    برای من که خیلی از ابهامات روشن شد
    فقط اگه میشه اینو بیشتر توضیح بدین

    طبق گفته های مایکروسافت، LinqToSql برای استفاده در پروژه های Small to Medium کاملا مناسب می باشد، و برای پشتیبانی از پروژه های بزرگ، Entity Framework بهتر است.
    چون که من میخوام یه پروژه بزرگ شروع کنم و اگه که با لینک در پروژه های بزرگ دچار مشکل میشم یه فکر دیگه ای بکنم

    میشه در مورد Entity Framework هم بیشتر راهنمایی کنین.

  4. #4
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    خواهش میکنم دوست عزیز
    LinqToSql به علت عدم پشتیبانی رسمی از ManyToMany RelationShips و TPH یا Table Per Hierarchy برای استفاده در پروژه های Small to Medium مناسبتر است. این موضوعات در EntityFramework حل شده است.
    توجه : از دید مایکروسافت و شرکای تجاریش، پروژه های بزرگ با پروژه های بزرگی که ما توی ذهنمونه فرق میکنه!

    EntityFramework یا EF یک ابزار ORM یا Object Relational Mapping نظیر NHibernate می باشد که ساختار دیتاسورس شما رو به صورت کلاسهای دات نت در میاره (POCO یا Plain Old Clr Objects)
    با فن آوری EF که مبتنی بر Linq می باشد، لایه Data Access به کلی از لایه ی Business جدا شده و منطق برنامه هیچ اطلاعی در مورد لایه ی دیتا ندارد (Persistence Ignorance).
    بنابر این شما در EF فقط با کلاسها و پراپرتی ها و لیستهای جنریک (Generic Lists) کار میکنید.
    در ضمن فن آوری EF دارای زبانی بسیار شبیه به Sql میباشد به نام eSql که کوئری نویسی را در دیتابیس های رابطه ای راحت نموده است.
    موفق باشید

  5. #5
    کاربر تازه وارد آواتار saeid69
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    یزد
    پست
    52

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    پس طبق گفته های شما من میتونم با خیال راحت یه پروژه مثل نرم افزار حسابداری را با این تکنولوژی بنویسم و بعد هم دچار مشکل نشوم ؟

  6. #6
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    پس طبق گفته های شما من میتونم با خیال راحت یه پروژه مثل نرم افزار حسابداری را با این تکنولوژی بنویسم و بعد هم دچار مشکل نشوم ؟
    بله، هرگونه نرم افزاری که توی ذهنتون هست رو میتونید با این فن آوری بسازید.

  7. #7

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    با سلام
    دوستان می تونید یه ORM مناسب برای .net معرفی کنید.
    من دوتایی رو پیدا کردم اما نمی دونم کدوم بهتره (از همه جهات).
    Nhibernate
    Subsonic

    می شه کمکم کنید؟

  8. #8
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    اگر ORM بنویسید بهتره.
    من یدونه نوشتم .
    DataLoadTime از 40s به 4.7s رسید.
    همه گزارشاتم به
    (m log n)O
    رسید.
    n:تعداد سطر پارنت
    m:تعداد سطرهای چایلد

    با مموری n*m.
    n:تعداد سطر
    m:تعداد ستون های Key
    ویو تایم گزارشاتم به (1)O رسید
    کلا efficiency برنامم به 17 برابر رسید .
    اگر باور نمی کنید که
    ...,System.Data.DataSet , System.Data.SQLDataAdaper,System.Linq ,NHibernate
    چقدر آشغالند فیلم از برنامم حاضرم بفرستم
    اگر میخواهی Email بده کدشو برات بفرستم.
    این عکس از آخرین خطوط کد ایجاد شده برای یک دیتابیس SQL2008 با 70 تیبل:
    ORM.jpg
    http://madgeek.com/Articles/ORMapping/EN/mapping.htm

    فقط 4,3 تا از امکانات این صفحه رو نداره که دارم روشون کار میکنم.

    پیشنهاد میکنم از کد من به عنوان codestub استفاده کنید.
    چون من نیاز های شما رو نمیدونم و برنامرو مخصوص خودم نوشتم.
    آخرین ویرایش به وسیله FastCode : پنج شنبه 10 دی 1388 در 17:12 عصر

  9. #9

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    اگر میخواهی Email بده کدشو برات بفرستم.
    raziee.hossein@gmail.com
    با سلام
    من ایمیلم رو گذاشتم .
    آشنایی با موضوعی که شما فرمودید رو ندارم.
    اگه ممکنه برای بنده ایمیل کنید.
    شاید رفتم سمت به کار گیری اون ها.
    با تشکر
    نگو به سرنوشت میبازی - تو بخوای فردا رو میسازی

  10. #10
    کاربر دائمی آواتار sahele_sheni
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    AhVaZ
    پست
    318

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    سلام دوست عزیز .
    این موردی رو که اشاره کردید برای من هم اگه لطف کنید ارسال کنید
    ali_190190@yahoo.com
    تشکر

  11. #11

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    نقل قول نوشته شده توسط hdv212 مشاهده تاپیک
    با فن آوری EF که مبتنی بر Linq می باشد، لایه Data Access به کلی از لایه ی Business جدا شده و منطق برنامه هیچ اطلاعی در مورد لایه ی دیتا ندارد (Persistence Ignorance).
    بنابر این شما در EF فقط با کلاسها و پراپرتی ها و لیستهای جنریک (Generic Lists) کار میکنید.
    سلام .
    ممنون از اطلاعات مفيدتون . اولين باره در مورد LINQ مطالعه ميكنم
    مطابق فرمايش شما آيا ميشه از LINQ To Sql به صورت معماري چند لايه استفاده كرد يا براي اينكار حتما بايد از Entity Framwrok استفاده كرد.
    آخرین ویرایش به وسیله Mostafa_Dindar : جمعه 18 دی 1388 در 15:56 عصر

  12. #12
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    سلام .
    ممنون از اطلاعات مفیدتون . اولین باره در مورد LINQ مطالعه میکنم
    مطابق فرمایش شما آیا میشه از LINQ To Sql به صورت معماری چند لایه استفاده کرد یا برای اینکار حتما باید از Entity Framwrok استفاده کرد.
    خواهش میکنم دوست عزیزم
    هرچند برنامه نویسی چند لایه دارای ابزارهای خاصی میتونه باشه، ولی فن آوری خاصی نیست و بیشتر به یک تجربه شباهت داره تا تکنولوژی، بنابراین شما میتونید این شیوه رو در هر زبان و مدلی پیاده سازی کنید.
    موفق باشید

  13. #13
    کاربر دائمی آواتار sahele_sheni
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    AhVaZ
    پست
    318

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    سلام . چطور میشه به این تجربه رسید ؟ من تا حالا برنامه ای با لایه بندی کار نکردم ولی میخوام این کار رو شروع کنم .
    چطور باید شروع کنم ؟
    منبعی برای مطالعه این کار هست ؟
    اگه ممکنه راهنمایی کنید .

  14. #14
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    نقل قول نوشته شده توسط sahele_sheni مشاهده تاپیک
    سلام . چطور میشه به این تجربه رسید ؟ من تا حالا برنامه ای با لایه بندی کار نکردم ولی میخوام این کار رو شروع کنم .
    چطور باید شروع کنم ؟
    منبعی برای مطالعه این کار هست ؟
    اگه ممکنه راهنمایی کنید .
    https://barnamenevis.org/showthread.php?t=151744

  15. #15

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    لطفا برای منم بفرستید
    iman.amirdarabi@gmail.com

  16. #16
    VIP
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    www
    سن
    40
    پست
    1,247

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    نقل قول نوشته شده توسط iman_ad مشاهده تاپیک
    لطفا برای منم بفرستید
    iman.amirdarabi@gmail.com
    o
    خواهشا این تاپیک رو با پستهای با عناوین این چنینی از مسیرخارج نکنید.
    جناب FastCode هم اگه زحمت بکشن و کد رو در جایی یا همین سایت بزارن
    به هرز نرفتن تاپیک با پستهایی با عناوین مذکور کمک کردن.
    از این پس پستهایی با عناوین مذکور حذف میشوند.

  17. #17
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    نقل قول نوشته شده توسط majid325 مشاهده تاپیک
    o
    خواهشا این تاپیک رو با پستهای با عناوین این چنینی از مسیرخارج نکنید.
    جناب FastCode هم اگه زحمت بکشن و کد رو در جایی یا همین سایت بزارن
    به هرز نرفتن تاپیک با پستهایی با عناوین مذکور کمک کردن.
    از این پس پستهایی با عناوین مذکور حذف میشوند.
    کاملا" درسته.
    هر کسی که کد رو میخواد به من پیام خصوصی بده.
    من نمیتونم کد درون سایت قرار بدم چون کد همیشه در حال تغییره. و هر لحظه داره بهتر میشه.الان قدرتش 4 برابر قبل شده.(Data Cache Time = 0.82s)
    در ضمن دارم زبان کد رو از C#‎.Net به C++‎ Inline-Assembly تغییر میدم.فکر نمیکنم که دیگه بشه چیزی سریعتر از اون درست کرد.
    آخرین ویرایش به وسیله FastCode : شنبه 24 بهمن 1388 در 08:52 صبح

  18. #18

    نقل قول: مقایسه LINQToSQL با ADO و معماری سه لایه

    با سلام به اساتید برنامه نویسی
    من حدود 15 ساله که با VB6.0 برنامه نویسی میکنم. و اولین برنامه و جامع ترین آن را در صنعت کارگزاری تولید کردم. ولی الان سعی در تعویض زبان برنامه به C#‎‎ دارم.

    حالا دنبال یک مشاور با تجربه جهت شروع کارم میگردم. که سرنخ کار و روشهای اولیه را آموزش بده.
    آدرس محل کارم هم دانشگاه شهید بهشتی - ولنجک است.

    مرسی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •