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

نام تاپیک: DBFirst یا CodeFirst در پروژه های بزرگ؟

  1. #1

    DBFirst یا CodeFirst در پروژه های بزرگ؟

    سلام دوستان

    در پروژه های بزرگ بهتره از کدوم این گزینه ها استفاده کنیم؟؟؟

    اصلا درسته تو پروژهای بزرگ از ef استفاده کنیم؟

    پروژه ای داریم نسبتا بزرگ با حدود 200 جدول و تعداد 10 میلیون رکورد که با کد فرست CFEF نوشتیم اما نسبت به برنامه نسخه قبلی خودمون که با SP )storeProcedure) , ado.net نوشته شده خیلییییی سرعت پایین تری داره .
    سوالی که دارم اینجاست که اگ پروژه رو ب database first تبدیل کنیم و از اس پی ها استفاده کنیم سرعت بهتر میشه ؟؟ مزایای دی بی فرست نسبت به کد فرست چیه اصلن! الان برای تغییر توی دیتابیس توی مد کدفرست با ی مایگرشن ساده دیتابیس عوض میشه ، ایا تو دی بی فرست هم همینه؟ یا برای بوجود آوردن مدل از طریق دی بی فرست تمام جزییات دیتابیس از قبیل ایندکس ها ویو ها اس پی ها و ... همگی میاد داخل مدل؟؟ در کل بحث سرعت کار با نرم افزار و همچنین سرعت توسعه خیلی مهمه تو این موقعیت ، دوستان اگ تجربه خاصی تو این زمینه دارند راهنمایی کنند ممنونم

  2. #2

    نقل قول: DBFirst یا CodeFirst در پروژه های بزرگ؟؟؟

    نقل قول نوشته شده توسط meysam_online2012 مشاهده تاپیک
    سلام دوستان

    در پروژه های بزرگ بهتره از کدوم این گزینه ها استفاده کنیم؟؟؟

    اصلا درسته تو پروژهای بزرگ از ef استفاده کنیم؟

    پروژه ای داریم نسبتا بزرگ با حدود 200 جدول و تعداد 10 میلیون رکورد که با کد فرست CFEF نوشتیم اما نسبت به برنامه نسخه قبلی خودمون که با SP )storeProcedure) , ado.net نوشته شده خیلییییی سرعت پایین تری داره .
    سوالی که دارم اینجاست که اگ پروژه رو ب database first تبدیل کنیم و از اس پی ها استفاده کنیم سرعت بهتر میشه ؟؟ مزایای دی بی فرست نسبت به کد فرست چیه اصلن! الان برای تغییر توی دیتابیس توی مد کدفرست با ی مایگرشن ساده دیتابیس عوض میشه ، ایا تو دی بی فرست هم همینه؟ یا برای بوجود آوردن مدل از طریق دی بی فرست تمام جزییات دیتابیس از قبیل ایندکس ها ویو ها اس پی ها و ... همگی میاد داخل مدل؟؟ در کل بحث سرعت کار با نرم افزار و همچنین سرعت توسعه خیلی مهمه تو این موقعیت ، دوستان اگ تجربه خاصی تو این زمینه دارند راهنمایی کنند ممنونم
    سلام
    مزایای ef نسبت به databaes first:

    - سرعت: برای کار با EF Code first نیازی نیست در ابتدای کار بانک اطلاعاتی خاصی وجود داشته باشد. کلا‌س‌های خود را طراحی و شروع به کدنویسی کنید.
    - سادگی: در اینجا دیگر از فایل‌های EDMX خبری نیست و نیازی نیست مرتبا آن‌ها را به روز کرده یا نگهداری کرد. تمام کارها را با کدنویسی و کنترل بیشتری می‌توان انجام داد. به علاوه کنترل کاملی بر روی کد نهایی تهیه شده نیز وجود دارد و توسط ابزارهای تولید کد، ایجاد نمی‌شوند.
    - طراحی بهتر بانک اطلاعاتی نهایی: اگر طرح دقیقی از مدل‌های برنامه داشته باشیم، می‌توان آن‌ها را به المان‌های کوچک و مشخصی، تقسیم و refactor کرد. همین مساله در نهایت مباحث database normalization را به نحوی مطلوب و با سرعت بیشتری میسر می‌کند.
    - امکان استفاده مجدد از طراحی کلاس‌های انجام شده در سایر ORMهای دیگر. چون طراحی مدل‌های برنامه به بانک اطلاعاتی خاصی گره نمی‌خورند و همچنین الزاما هم قرار نیست جزئیات کاری EF در آن‌ها لحاظ شود، این کلاس‌ها در صورت نیاز در سایر پروژه‌ها نیز به سادگی قابل استفاده هستند.
    - ردیابی ساده‌تر تغییرات: روش اصولی کار با پروژه‌های نرم افزاری همواره شامل استفاده از یک ابزار سورس کنترل مانند SVN، Git، مرکوریال و امثال آن است. به این ترتیب ردیابی تغییرات انجام شده به سادگی توسط این ابزارها میسر می‌شوند.
    - ساده‌تر شدن طراحی‌های پیچیده‌تر: برای مثال پیاده سازی ارث بری،‌ ایجاد کلاس‌های خود ارجاع دهنده و امثال آن با کدنویسی ساده‌تر است.

  3. #3

    نقل قول: DBFirst یا CodeFirst در پروژه های بزرگ؟؟؟

    نقل قول نوشته شده توسط r@miiin مشاهده تاپیک
    سلام
    مزایای ef نسبت به databaes first:

    - سرعت: برای کار با EF Code first نیازی نیست در ابتدای کار بانک اطلاعاتی خاصی وجود داشته باشد. کلا‌س‌های خود را طراحی و شروع به کدنویسی کنید.
    - سادگی: در اینجا دیگر از فایل‌های EDMX خبری نیست و نیازی نیست مرتبا آن‌ها را به روز کرده یا نگهداری کرد. تمام کارها را با کدنویسی و کنترل بیشتری می‌توان انجام داد. به علاوه کنترل کاملی بر روی کد نهایی تهیه شده نیز وجود دارد و توسط ابزارهای تولید کد، ایجاد نمی‌شوند.
    - طراحی بهتر بانک اطلاعاتی نهایی: اگر طرح دقیقی از مدل‌های برنامه داشته باشیم، می‌توان آن‌ها را به المان‌های کوچک و مشخصی، تقسیم و refactor کرد. همین مساله در نهایت مباحث database normalization را به نحوی مطلوب و با سرعت بیشتری میسر می‌کند.
    - امکان استفاده مجدد از طراحی کلاس‌های انجام شده در سایر ORMهای دیگر. چون طراحی مدل‌های برنامه به بانک اطلاعاتی خاصی گره نمی‌خورند و همچنین الزاما هم قرار نیست جزئیات کاری EF در آن‌ها لحاظ شود، این کلاس‌ها در صورت نیاز در سایر پروژه‌ها نیز به سادگی قابل استفاده هستند.
    - ردیابی ساده‌تر تغییرات: روش اصولی کار با پروژه‌های نرم افزاری همواره شامل استفاده از یک ابزار سورس کنترل مانند SVN، Git، مرکوریال و امثال آن است. به این ترتیب ردیابی تغییرات انجام شده به سادگی توسط این ابزارها میسر می‌شوند.
    - ساده‌تر شدن طراحی‌های پیچیده‌تر: برای مثال پیاده سازی ارث بری،‌ ایجاد کلاس‌های خود ارجاع دهنده و امثال آن با کدنویسی ساده‌تر است.

    بابت پاسختون ممنونم اما مشکل اصلی من رو سرعت فراخوانی اطلاعات از دیتابیسه

    تو کدوم روش میتونم اطلاعاتو سریعتر از دیتابیس واکشی کنم؟

  4. #4

    نقل قول: DBFirst یا CodeFirst در پروژه های بزرگ؟؟؟


  5. #5
    کاربر دائمی آواتار abdullah20
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    1,211

    نقل قول: DBFirst یا CodeFirst در پروژه های بزرگ؟

    سلام
    در رابطه با استفاده کردن از EF در پروژه ها (چ کوچک چ بزرگ) که شکی درش نیست باید دیگه از EF استفاده کنید و کمتر کسی با ADO کار میکنه
    در رابطه با استفاده از هر کدوم از مدل ها هم بهتره در این پروژه از کد فرست استفاده کنید چون تعداد جداول بالاست و اینطوری مدیریت خیلی بهتری خواهید داشت
    در مدل کدفرست هم میتونید از sp استفاده کنید فرقی نداره

  6. #6
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: DBFirst یا CodeFirst در پروژه های بزرگ؟

    نقل قول نوشته شده توسط abdullah20 مشاهده تاپیک
    سلام
    در رابطه با استفاده کردن از EF در پروژه ها (چ کوچک چ بزرگ) که شکی درش نیست باید دیگه از EF استفاده کنید و کمتر کسی با ADO کار میکنه
    در رابطه با استفاده از هر کدوم از مدل ها هم بهتره در این پروژه از کد فرست استفاده کنید چون تعداد جداول بالاست و اینطوری مدیریت خیلی بهتری خواهید داشت
    در مدل کدفرست هم میتونید از sp استفاده کنید فرقی نداره
    ADO هم خوبه ها. من خودم از این روش استفاده میکنم. و صد البته دارم چند لایه مینویسم که در صورت نیاز به بهینه کردن دردسری برام نداره . تا حالا هم سرعت کارکردش خوب بوده و تا جایی که شنیدم نسبت به بقیه سرعت اجرای بالایی داره.

  7. #7
    کاربر دائمی آواتار abdullah20
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    1,211

    نقل قول: DBFirst یا CodeFirst در پروژه های بزرگ؟

    با سلام
    بنده نگفتم ADO خوب نیست و مشکل داره
    گفتم دیگه باید برید سمت EF

تاپیک های مشابه

  1. پاسخ: 2
    آخرین پست: یک شنبه 19 مهر 1394, 18:09 عصر
  2. استفاده از ماژول های dotnetnuke در پروژه های دیگر
    نوشته شده توسط javad3151 در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: سه شنبه 24 اردیبهشت 1392, 14:34 عصر
  3. سوال: در پروژه های وب از پایگاه داده محلی استفاده کنیم یا سرور؟
    نوشته شده توسط moferferi در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: شنبه 08 مرداد 1390, 12:32 عصر
  4. پنج نقیصه امنیتی متداول در پروژه های تحت وب
    نوشته شده توسط mehranFX در بخش امنیت در نرم افزار و برنامه نویسی
    پاسخ: 0
    آخرین پست: جمعه 12 خرداد 1385, 19:51 عصر
  5. استفاده از فروم این سایت در پروژه های دات نت _ فوری فوری
    نوشته شده توسط javad3151 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: چهارشنبه 30 آذر 1384, 17:09 عصر

برچسب های این تاپیک

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

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