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

نام تاپیک: ایجاد یک پروژه MVC با به کارگیری الگوی Unit of work با استفاده از کتابخانه Structuremap چند لایه

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    ایجاد یک پروژه MVC با به کارگیری الگوی Unit of work با استفاده از کتابخانه Structuremap چند لایه

    با سلام

    کلیه مطالب برگرفته از مطالب ارائه شده از مهندس وحید نصیری می باشد البته با کمی دخل و تصرف!


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

    یه خواهش: برای ابراز احساسات از گزینه تشکر استفاده نمائید خواهشا از پست ها جهت ابراز احساسات استفاده نکنید!

    بدون مقدمه یه راست سر اصل مطلب:

    برای ایجاد پروژه مراحل زیر را انجام می دهیم:

    با فرض اینکه نام پروژه اصلی MVCProject هست

    New=> Project=> ASP.Net MVC 4 Web Application


    پس از OK اول کادری باز شده در آن سومین گزینه از چپ یعنی Internet appllication
    A default ASP.NET MVC 4 project with an account controller that uses forms authentication.
    را انتخاب کنید
    View engin را هم Razor انتخاب شود.

    پس از ایجاد پروژه اصلی Class Library های زیر را در ریشه پروژه اصلی ایجاد کنید
    کلیک راست بروی ریشه اصلی پروژه و گزینه add سپس New Project


    MVCProject.DataLayer
    MVCProject.DomainClasses
    MVCProject.ServiceLayer
    MVCProject.Models


    سپس با دستور

    Install-Package EntityFramework


    در Package Manager Console، EntityFramework را در پروژه های

    Project
    DataLayer
    DomainClasses
    ServiceLayer
    Models


    نصب کنید.

    سپس در DataLayer توسط دستور زیر Migrations رو نصب کنید

    Install-Package EntityFramework.Migrations -Version 0.9.0.0

    در Web.config در بخش Connection نام دیتابیس خود را بنویسید. درواقع DefaultConnection رو به "your db name" تغییر نام دهید
    سپس در DataLayer با نام دیتابیس تون یه کلاس اضافه کنید
    از طرفی باید به References این پروژه DomainClasses رو اضافه کنید
    Interface زیر رو قبل از کلاس (نام دیتابیستون) تایپ کنید

    public interface IUnitOfWork
    {
    IDbSet<TEntity> Set<TEntity>() where TEntity : class;
    DbEntityEntry<TEntity> Entry<TEntity>(TEntity entity) where TEntity : class;
    int SaveChanges();
    }


    سپس کلاس اصلی رو به شکل زیر تغییر دهید:

    public class "your db name" : DbContext, IUnitOfWork
    {
    public "your db name"()
    : base("name=DefaultConnection")
    {
    }

    public new IDbSet<TEntity> Set<TEntity>() where TEntity : class
    {
    return base.Set<TEntity>();
    }

    public DbSet<UserProfile> UserProfiles { set; get; }

    and other table...

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
    تنظیم کلیدهای خارجی
    تنظیم کلیدهای چندتایی
    تنظیم حذف خودکار فرزند

    base.OnModelCreating(modelBuilder);
    }
    }

    به پروژه اصلی رفته و references های زیر رو اضافه کنید:

    DataLayer
    DomainClasses
    ServiceLayer
    Models

    سپس Build Solution
    سپس تو DataLayer دستور ریر رو اجرا کنید

    Enable-Migrations -ContextTypeName "your db name"

    پس از اجرای دستور و نصب Migrations داخل پوشه Migrations کلاس Configuration رو باز کرده و کدهای زیر را به آن اضافه کنید:

    public Configuration()
    {
    AutomaticMigrationsEnabled = true;
    AutomaticMigrationDataLossAllowed = true; // <-- THIS LINE
    }


    مدل های اصلی پروژه رو به DomainClasses اضافه کنید
    سپس در صورت طی همه مراحل پس از اجرای دستور زیر باید دیتابیس شما ایجاد بشه

    update-database

    سپس تو Project دستورات زیر رو اجرا کنید تا structuremap نصب شود

    Install-Package structuremap
    Install-Package StructureMap.MVC4




    ادامه دارد...
    آخرین ویرایش به وسیله ali_autumnal : جمعه 25 بهمن 1392 در 17:13 عصر دلیل: اصلاح منبع

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

  1. مشکل در ایجاد به روز رسانی Entity در پروژه MVC
    نوشته شده توسط farid_zolghadr در بخش ASP.NET MVC
    پاسخ: 2
    آخرین پست: یک شنبه 13 مرداد 1392, 08:19 صبح
  2. سوال: ایجاد یک پروژه جدید MVC 2 و بعد از اجرا Error Server Error in '/' Application.
    نوشته شده توسط fa_arnc در بخش ASP.NET MVC
    پاسخ: 1
    آخرین پست: یک شنبه 04 دی 1390, 23:49 عصر
  3. ایجاد پروژه MVC
    نوشته شده توسط Future در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: جمعه 20 آذر 1388, 10:54 صبح
  4. راهکارهای ایجاد یک پروژه حرفه ای PHP
    نوشته شده توسط sweb در بخش PHP
    پاسخ: 1
    آخرین پست: دوشنبه 05 شهریور 1386, 15:30 عصر
  5. ایجاد یک پروژه Unmanaged
    نوشته شده توسط حمیدرضاصادقیان در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: چهارشنبه 16 آذر 1384, 10:14 صبح

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

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

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