کار با Entity Framework در روش Database First

دوشنبه 28 فروردین 1396

در این مقاله شما با روش استفاده از Entity Framework در روش Database First آشنا می شوید.به عبارت دیگر طریقه پیکربندی و تنظیمات Entity Framework را مشاهده می کنید.

کار با Entity Framework در روش Database First

Entity Framework چیست؟

Entity Framework  توسعه دهندگان نرم افزار رو قادر می سازد که با دیتابیس تعامل داشته باشند مثل ado.net ، با این تفاوت که بسیار ساخت یافته تر است و خوانایی بیشتری دارد. استفاده از entity framework  بسیار جالب و راحته.بر خلاف ADO.NET لازم نیست برای اتصال به بانک اطلاعاتی یک رشته اتصال طولانی و نا خوانا ایجاد کنید. همچنین می توانید برای ایجاد کوئری ها ، دریافت اطلاعات و دستکاری داده ها از LINQ  استفاده کنید. در واقع Entity Framework روشی ساخت یافته برای استفاده از ADO.NET می باشد.

در این مقاله چگونگی اضافه کردن  Entity Frameworkبه پروژه در روش Database First را فرا میگیریم.در روشDatabase First  ما باید ابتدا با استفاده از Entity Framework بانک اطلاعاتی را آماده کنیم مانند ایجاد جدول بانک اطلاعاتی قبل از استفاده از آن.

حالا بیایید شروع کنیم.ابتدا بانک اطلاعاتی خود را با کلیک راست بر روی گزینه بانک های اطلاعاتی(Sql Server)در نرم افزار بانک اطلاعاتی Database first ایجادمی کنیم.ما دیتابیس را demoEcommerce نام گذاری میکنیم. سپس اسکریپت های زیر را برای ایجاد جدول اجرا می کنیم.

tblState

    CREATE TABLE [dbo].[tblState](  
        [stateid] [int] NOT NULL,  
        [statename] [nvarchar](50) NULL,  
    PRIMARY KEY CLUSTERED   
    (  
        [stateid] ASC  
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]  
    ) ON [PRIMARY]  
      
    GO   

tblCity 

    CREATE TABLE [dbo].[tblCity](  
        [Cityid] [int] NOT NULL,  
        [CityName] [nvarchar](50) NULL,  
        [stateid] [int] NOT NULL  
    ) ON [PRIMARY]  
      
    GO  
      
    ALTER TABLE [dbo].[tblCity]  WITH CHECK ADD FOREIGN KEY([stateid])  
    REFERENCES [dbo].[tblState] ([stateid])  
    GO   

بعد از اجرای اسکریپت ها، در پروژه خود پوشه ای به نام Entity Framework ایجاد می کنیم.سپس بر روی فولدر Entity Frameworkکلیک راست کرده گزینه ADD رو انتخاب و سپس گزینه ADD NEW ITEM را انتخاب می کنیم.

سپس از کارد باز شده گزینه select Data and ADo.NET Entity Framework data model را انتخاب می کنیم. سپس باید نامی برای آن انتخاب کنیم. ما مدل را demoEFmodel نام گذاری می کنیم.

سپس بر روی کلید ADD کلیک می کنیم. پنجره جدیدی مانند تصویر زیر باز می شود

گزینه select the EF designer from the database رو انتخاب و دکمه NEXT رو کلیک می کنیم.حالا پنجره جدید مانند عکس زیر مشاهده می کنید.

گزینه NEW CONNECTION را انتخاب کنید. شما باید نام پروژه خود را در پنجره ببینید. با کلیک بر روی گزینه  NEW CONNECTION پنجره ای به کل زیر را مشاهده می کنید.

در کادر SERVER NAME نام سرور خود را برای پیدا کردن  بانک اطلاعاتی مورد نظر وارد کنید   و بروی دکمه REFRESH کلیک کنید.سپس در لیست کشویی شما باید نام دیتا بیس خود را مشاهده کنید ، بعنوان مثال دراینجا demoEcommerce را باید ببینید.

بر روی دکمه TEST  کلیک کنید و در اگر ارتباط با بانک اطلاعاتی به درستی برقرار شده باشد پیامی مبنی بر موفقیت امیز بودن به شما نمایش داده می شود.بعد از کلیک بر روی دکمه OPEN پنجره زیر باید نمایش داده شود.

زیر مجموعه های DBO که خود زیر مجموعه TABLES می باشد را باز کنید ، اکنون باید نام جداول خود را ببینیم (در اینجا tblCity و tblState). به دلیل اینکه بانک اطلاعاتی ما از قبل شامل چندین جدول دیگر هم بود، نام انها نیز نمایش داده می شود. هر دو جدول را انتخاب می کنیم. در ضمن شما در صورت نیاز می توانید کلیه جداول را انتخاب کنید. سپس بر روی دکمه finish کلیک می کنیم.

حالا شما باید فایل EDMX ساخته شده را مشاهده کنید

حالا شما می توانید با ساخت object از demoEcommerceEntities به تمامی جداول در پروژه دسترسی پیدا کنید و کلیه عملیات دستکاری و واکشی داده ها را انجام دهید.

حالا در Controller شی از Entity Framework می سازیم و همانگونه که شما مشاهده می کنید توانایی دسترسی به هر دو جدول را داریم. (tblCity & tblState) حالا ما توانایی انجام عملیات واکشی و دستکاری داده های این دو جدول را داریم.

به این ترتیب شما پیکربندی entity framework را در پروژه با استفاده از روش database first انجام دادید.

آموزش asp.net mvc

برنامه نویسان

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

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید