روشهای استفاده از Entity Framework
سه روش مدلسازی در Entity Framework 4.1
به اشتراک گذاری این مطلب:
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
Entity Framework یک ORM می باشد، ORM ابزاری برای تبدیل (نگاشت) اطلاعات بین Database (پایگاه داده) شیءگرا و برنامه کاربردی است و مانند یک مترجم بین زبان برنامهنویسی و پایگاه داده شیء گرا عمل می کند.
روشهای مدلسازی در Entity Framework 4.1
سه روش مدلسازی توسط Entity Framework 4.1 معرفی شد که عبارتند از:
Code First
Model First
Database first
ef_approach
۱- مدل Code First
Code first امکان تشریح یک مدل با استفاده از کلاس های #C یا VB.NET و سپس ایجاد پایگاه دادهای از این کلاسها را فراهم میکند؛ این کلاسها به عنوان کلاسهای POCO شناخته میشوند.
این روش برنامه نویسان را قادر میسازد که بطور کامل در ساختار object-oriented (شی گرا) کار کنند و به ساختار پایگاه داده کاری نداشته باشند، بنابر این در کدنویسی به جای استفاده مستقیم از جداول پایگاه داده بر روی اشیاء کار کنند،
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
این ساختار باعث میشود که برنامههای کاربردی منطقیتر و انعطاف پذیر تر ایجاد شود.
در این روش کدهای برنامه مشخص کننده نگاشتها و روابط پایگاه داده میباشد و چون کد مشخص کننده پایگاه داده میباشد امکان اعمال تغییرات دستی در پایگاه داده وجود ندارد.
استفاده از روش Code First:
برای استفاده از این روش نیاز به Visual Studio 2010 یا Visual Studio 2012 وجود دارد. همچنین در صورت استفاده از Visual Studio 2010 باید NuGet نیز نصب گردد.
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
پس از انتخاب و نصب ابزار مراحل زیر را جهت استفاده از مدل Code First انجام دهید:
ایجاد برنامه کاربردی: ابتدا از طریق Visual Studio یک پروژه جدید ایجاد نمائید.
ایجاد مدل: تعریف مدل برنامه و ایجاد کلاسها و اشیا
ایجاد context: در این مرحله یک چارچوب برای ارتباط با پایگاه داده جهت ذخیره دادهها و اجرای query تعریف میکنید.
خواندن و نوشتن دادهها
در این مدل از طریق DbContext یک پایگاه داده برای پروژه و بر اساس مدل تعریف شده ایجاد میگردد. اگر instance از SQL Express موجود باشد، این پایگاه داده بر روی این instance نصب خواهد شد در غیر اینصورت code first پایگاه داده را در LocalDb (بهصورت پیش فرض با Visual Studio 2012 نصب میشود) ایجاد خواهد نمود.
با استفاده از Server Explorer در Visual Studio میتوان به پایگاه داده متصل شد.
۲- مدل Database First
در Database First، مدلی از پایگاه داده موجود (مثل SQL Server, Oracle, DB2) ایجاد میشود؛ ابتدا پایگاه داده ایجاد، طراحی و فایل XMLایی با پسوند EDMX از آن تولید میشود، سپس بسته به این طراحی مدلی از کلاسها و اشیا با استفاده از visual studio و Entity Framework Designer ایجاد میگردد.
در Database First بالاترین اولویت با پایگاه داده سپس کد و مدل میباشد.
۳- مدل Model First
روشهای استفاده از Entity Framework
در Model first مدلی از اشیا، روابط و سلسله مراتب ارثبری در یک فایل (.edmx file) طراحی شده و پس از آن یک پایگاه داده ایجاد میشود.
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
این روش مناسب برای زمانی که برنامه نویس ساختار پایگاه داده و دادهها را تجسم میکند (مدلسازی دادهها)، میباشد و نیازی به نوشتن کد برنامه یا SQL در زمان مدلسازی دادهها نیست.
در این روش کنترل زیادی بر روی entityها و پایگاه داده وجود ندارد. این روش به ندرت و در پروژههای کوچک استفاده میشود.
آموزش ASP.NET Core MVCآموزش طراحی سایت
Entity Framework Core چیست
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
6 331 زمان مطالعه: 2 دقیقه
Entity Framework Core چیست؟
Entity Framework Core چیست؟
ارسال درتلگرام
ارسال در واتسآپ
ارسال درگوگل پلاس
ارسال در لینکدین
ارسال درفیسبوک
جیمیل کن
کامنت در پست
Entity Framework Core چیست ؟ EF Core چه مزیت هایی دارد ؟ ORM چیست ؟ روش Code First چیست ؟ روش Database First چیست ؟ به چند روش می توانیم Entiry Framework Core را توسعه دهیم ؟ اگر به دنبال پاسخ این سوالات هستید به هیچ عنوان این مقاله آموزشی را از دست ندهید.
سرفصلهای پست [مخفی کردن]
1 Entity Framework Core چیست
2 (Object-Reletionl Mapping)ORM چیست
3 مزیت های EntityFramework Core
3.1 آسان کردن تغییر بانک اطلاعاتی
3.2 کوئری نویسی با استفاده از LINQ
3.3 OpenSource بودن
3.4 چند سکویی بودن
3.5 پشتیبانی از اکثر بانک های اطلاعاتی
4 روش های توسعه Entity Framework Core
4.1 روش Code First چیست
4.2 روش Database First چیست
Entity Framework Core چیست
EntityFramework Core یک ORM چند سکویی (Cross Platform) هست که به ما این امکان را می دهد که بتوانیم با بانک های اطلاعاتی مختلف مثل SQL Server از طریق اشیاء NET. کار کنیم. این نسخه Entity Framework که بعد از Entity Framework 6 معرفی شد هم Open Sourse هست و هم Cross Platform و علاوه بر این سبک و قابل گسترش نیز هست خب حالا شاید این سوال برای شما پیش بیاد که ORM چیست ؟
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
در ادامه ی این مقاله با ORM یا (Object-Reletional Mapping) آشنا خواهید شد.
(Object-Reletionl Mapping)ORM چیست
ORM در واقع یک لایه مترجم بین زبان برنامه نویسی ما و پایگاه داده هست که این دو را به هم تبدیل می کند و به ما کمک میکند که بین زبان برنامه نویسی مون که سی شارپ هست و بانک اطلاعاتی مون که SQL Server هست ارتباط برقرار کنیم و تبادل اطلاعات داشته باشیم.
یکی از مهم ترین مزیت های ORM ها این هست که عملیات CRUD (Create-Read-Update-Delete) را به راحتی برای ما انجام می دهد. خب حالا در ادامه این مقاله با مزیت های Entity Framework Core آشنا خواهید شد.
مزیت های EntityFramework Core
آسان کردن تغییر بانک اطلاعاتی
وقتی شما با یک بانک اطلاعاتی مثل SQL Server کار می کنید و بعد از گذشت یک مدت میخواهید بانک اطلاعاتی تون را از SQL Server به مثلا SQLight تغییر بدید Entity Framework Core این کار را برای ما به راحتی انجام می دهد.
کوئری نویسی با استفاده از LINQ
با بهره گیری از Entity Framework می توانیم با استفاده از LINQ کوئری نویسی انجام دهیم. و با کوئری نویسی از طریق LINQ خطر حمله SQL Injection را تقریبا به صفر برسانیم.
OpenSource بودن
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
از دیگر مزایای EntityFrameworkCore می توانیم به Open sourse بودن یا مجانی بودن آن اشاره کنیم و نسخه EF Core در GitHup قابل دسترسی است و همین ویژگی Open Sourse یا مجانی بودن یکی از تفاوت های Entity Framework Core با Entity Framework 6 هست.
چند سکویی بودن
یکی دیگر از مزیت های Entity Framework Core این است که چند سکویی هست و قابلیت اجرا روی Mac و Linux را داراست.
پشتیبانی از اکثر بانک های اطلاعاتی
Entity Framework Core نسبت Entiry Framework 6 از بانک های اطلاعاتی بیشتری پشتیبانی می کند و در نسخه Entity Framework Core پشتیبانی از بانک های اطلاعاتی NoSql هم افزوده شده است.
روش های توسعه Entity Framework Core
Entity Framework Core را می توانیم به دو روش توسعه دهیم:
روش Code First
روش Database First
در ادامه این مقاله از سایت میزفا با این دو روش به صورت کامل آشنا خواهید شد.
روش Code First چیست
در روش Code – First مطابق تصویری که برای شما قرار دادم به ازای هر جدول در Database یک کلاس یا Model تعریف می کنیم و درنهایت این کلاس ها ، جداول دیتابیس را می سازند و Property های هر کلاس هم ستون های این جداول را تشکیل می دهند.
Code-First چیست ؟
Code-First چیست ؟
روش Database First چیست
در روش Database-First همانند تصویری که برای شما قرار دادم ، ما یک پایگاه داده آماده داریم و این پایگاه داده ما تبدیل میشه به کلاس Context و کلاس های Entity که همون مدل های ما هستند.
Database-First چیست ؟
Database-First چیست ؟
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
امیدوارم که از این مقاله از سری مقالات اموزش ASP.NET Core 2 لذت برده باشید. در صورتی که سوالی داشتید در قسمت نظرات پاسخگوی شما خواهیم بود.
استفاده از MVC ،Entity Framework و ASP.NET Scaffolding می توانید یک برنامه ی وب ایجاد کنید که یک اینترفیس برای دیتابیس موجود ارائه می دهد. این سری آموزش به شما نشان می دهد که چگونه به طور خودکار کدی تولید کنید که کاربرها را قادر سازد تا داده ای را که در جدول دیتابیس موجود است نمایش دهند، ویرایش کنند، ایجاد و یا حذف کنند. کد تولید شده با ستون های جدول دیتابیس مطابقت دارد.
این بخش از مجموعه روی ایجاد برنامه ی وب و تولید مدل های داده براساس جدول های دیتابیس شما تمرکز می کند.
ایجاد یک برنامه ی جدید وب ASP.NET
در یک راه حل جدید یا در همان راه حل پروژه ی دیتابیس، یک پروژه ی جدید در Visual Studio ایجاد کرده و الگوی ASP.NET Web Application را انتخاب کنید. پروژه را با عنوان ContosoSite نامگذاری کنید.
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
آموزش MVC
روی OK کلیک کنید.
در پنجره ی ASP.NET Project الگوی MVC را انتخاب کنید. شما در حال حاضر می توانید گزینه ی Host in the cloud را حذف کنید، زیرا بعدها برنامه را در Cloud اجرا می کنید. روی OK کلیک کنید تا برنامه را ایجاد کنید.
آموزش MVC
پروژه با فایل ها و فولدرهای پیش فرض ایجاد می شود.
در این آموزش شما از Entity Framework 6 استفاده خواهید کرد. شما می توانید ازطریق پنجره ی Manage NuGet Packages، ورژن Entity Framework را در پروژه ی خود چک کنید. اگر لازم است ورژن Entity Framework را آپدیت کنید.
آموزش MVC
تولید مدل ها
اکنون شما مدل های Entity Framework را از جدول های دیتابیس ایجاد خواهید کرد. این مدل ها گروه هایی هستند که برای کار با داده استفاده خواهید کرد. هر مدل جدولی را در دیتابیس منعکس می کند و حاوی پراپرتی هایی است که با ستون هایی در جدول مطابقت دارند.
روی فولدر Modelsراست کلیک کرده و Add و New Item را انتخاب کنید.
آموزش MVC
در پنجره ی Add New Item در بند سمت چپ Data و از گزینه های بند مرکز ADO.NET Entity Data Model را انتخاب کنید. فایل جدید را با عنوان ContosoModel نامگذاری کنید.
آموزش MVC
روی Add کلیک کنید.
در Entity Data Model Wizard عبارت EF Designer from database را انتخاب کنید.
آموزش MVC
روی Next کلیک کنید.
اگر اتصالات دیتابیس دارید که در محیط توسعه ی شما تعریف شده، ممکن است یکی ازاین اتصالات از قبل انتخاب شده را مشاهده کنید. به هرحال می خواهید یک اتصال جدید با دیتابیسی که در بخش اول این آموزش ایجاد کردید، برقرار سازید. روی دکمه ی New Connection کلیک کنید.
آموزش MVC
در پنجره ی Connection Properties، نام سرور داخلی را ارائه بدهید، جایی که دیتابیس شما ایجاد شده بود (در این مورد). پس از ازائه ی نام سرور، ContosoUniversityData را از دیتابیس های موجود انتخاب کنید.
آموزش MVC
روی OK کلیک کنید.
اکنون پراپرتی های اتصال درست نمایش داده می شوند. شما می توانید از نام پیش فرض برای اتصال در فایل Web.Config استفاده کنید.
آموزش MVC
روی Next کلیک کنید.
Tables را انتخاب کنید تا مدل هایی را برای هرسه نوع جدول تولید کنید.
آموزش MVC
روی Finish کلیک کنید.
اگر یک اخطار امنیتی دریافت کردید، OK را انتخاب کنید تا اجرای الگو را ادامه دهید. مدل ها از جدول های دیتابیس تولید می شوند و یک نمودار نمایش داده می شود که پراپرتی ها و ارتباطات بین جدول ها را نشان می دهد.
آموزش MVC
فولدر Models اکنون حاوی فایل های جدید مربوط به مدل ها می باشد که از دیتابیس تولید شدند.
آموزش MVC
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
فایل ContosoModel.Context.cs حاوی گروهی می باشد که از گروه DbContext استخراج می شود و یک پراپرتی برای هرگروه مدل ارائه می دهد که با یک جدول دیتابیس منطبق می باشد.
فایل های Course.cs، Enrollment.cs و Student.cs حاوی گروه هایی هستند که جدول های دیتابیس ها را نشان می دهد. شما در هنگام کار با scaffolding هم از گروه کانتکست و هم از گروه های مدل استفاده خواهید کرد.
قبل از جلو رفتن با این آموزش پروژه را بسازید. در بخش بعدی کدی را براساس مدل های داده تولید خواهید کرد. اما آن بخش نیز اگر پروژه ساخته نشده باشد، کار نخواهد کرد.
پکیج پیشرفته آموزش برنامه نویسی سی شارپ ۲۰۱۷ | مختص ورود به بازار کار + آموزش ساخت بازی Quiz of King
EntityFramework , Linq , Mysql , SQL Server , Stimulsoft Reports , Telerik , WPF , آموزش برنامه نویسی , آموزش های پروژه محور , سی شارپ , طراحی بازی , فروشگاه , فیلم های آموزشی
۶۰ دیدگاه
پکیج پیشرفته آموزش برنامه نویسی سی شارپ 2017 | مختص ورود به بازار کار
پکیج پیشرفته آموزش برنامه نویسی سی شارپ ۲۰۱۷ | مختص ورود به بازار کار
سلام دوستان. پس از ماه ها انتظار هم اکنون در خدمت شما هستیم با پکیج پیشرفته آموزش برنامه نویسی سی شارپ ۲۰۱۷ | مختص ورود به بازار کار + آموزش ساخت بازی Quiz of King از وب سایت آموزش برنامه نویسی سورس باران. این پکیج یکی از بهترین،کامل ترین و جدیدترین پکیج های سی شارپ ۲۰۱۷ به همراه می باشد. به درخواست کاربران در این پکیج آموزش کار با مباحثی مهمی مانند WPF ، Material Design ، Entity Framwork ، SQLITE ، LINQ، Stimulsoft ، SQL Server، Crystal Report و… در قالب پروژه های مختلفی پیاده سازی شده است. در این پکیج ابتدا یک دوره موضوع محور سی شارپ ۲۰۱۷ بصورت کامل و از صفر تا صد ارائه شده، که پس از اتمام این دوره به سراغ ۶ دوره پروژه محور مختص بازار کار و ۱ دوره آموزشی ساخت Quiz of Kings (بازی آنلاین و گروهی) با امکانات جال ارائه شده است.
بنده به عنوان نویسنده این مطلب توضیح خاصی ندارم، چه بسا توضیحات اضافه موجب بازار گرمی و تبلیغات خواهد شد، به همین خاطر به شما دوستان عزیز توصیه می کنم در صورت تمایل در ادامه مطلب سرفصل های دوره رو مشاهد کنید و خودتون بار علمی این دوره رو بسنجید و در صورت هرگونه سوال، مشاوره و یا مشکل با ما تماس بگیرید. موفق وپیروز باشید…
نویسنده : صابر بوستانی
بازدید : 29,786بازدید
ارسال شده در : ۹۶/۰۳/۲۱
ادامه مطلب
پکیج اختصاصی سی شارپ ۲۰۱۵، SQL Server و Asp.Net به زبان فارسی
Asp.Net , EntityFramework , SQL Server , Stimulsoft Reports , Telerik , آموزش برنامه نویسی , آموزش های پروژه محور , سی شارپ , فروشگاه , فیلم های آموزشی , کامپوننت برنامه نویسی , کریستال ریپورت
Entity framework code-first
شروع به کار با EF Code first
معرفی EF Code first
برای تکمیل بحث نیاز است تغییرات انجام شده از نگارش 4 به 6 را نیز مد نظر داشته باشید:
ارتقاء به Entity framework 6 و استفاده از بانکهای اطلاعاتی غیر از SQL Server
بروز رسانی استفاده از SqlServer Compact در Entityframework 6.0
آشنایی با مباحث Migrations
آشنایی با Code first migrations : قسمت اول و دوم
وادار کردن EF Code first به ساخت بانک اطلاعاتی پیش از شروع به کار برنامه
بررسی خطاهای متداول عملیات Migration در حین به روز رسانی پروژههای EF Code First
بازسازی جدول MigrationHistory با کد نویسی در EF Code first
استفاده از چندین Context در EF 6 Code first
آشنایی با تنظیمات نگاشتها به دو روش استفاده از ویژگیها و Fluent API
امکانات مهیا جهت تنظیم ویژگیهای مدلهای برنامه در EF Code first
تعیین شمای جداول بانکی در EF Code First
بررسی تعاریف نگاشتها به کمک متادیتا در EF Code first
بررسی Fluent API جهت تعریف نگاشت کلاسها به بانک اطلاعاتی
مدیریت روابط بین جداول در EF Code first به کمک Fluent API
ادامه بحث بررسی جزئیات نحوه نگاشت کلاسها به جداول، توسط EF Code firs
SQL Server CE و ثبت متون طولانی در EF Code first
بازنویسی سادهتر پیش فرضهای EF Code first در نگارش 6 آن
مباحث تکمیلی مدلهای خود ارجاع دهنده در EF Code first
بررسی تفصیلی رابطه Many-to-Many در EF Code first
تقسیم جدول در Entity Framework Code First
کار با کلیدهای اصلی و خارجی در EF Code first
تنظیمات ارث بری کلاسها در EF Code first
ایندکس منحصر به فرد با استفاده از Data Annotation در EF Code First
ایجاد ایندکس منحصربفرد در EF Code first به صورت Fluent API
افزودن خودکار کلاسهای تنظیمات نگاشتها در EF Code first
خودکار کردن تعاریف DbSetها در EF Code first
بررسی خطای cycles or multiple cascade paths و یا cyclical reference در EF Code first
بالا بردن سرعت بارگذاری اولیه EF Code first با تعداد مدلهای زیاد
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
اعتبارسنجی و بررسی استثناءها
Entity Framework و InnerException
استثناهایی که باید حین استفاده از EF Code first بررسی شوند
اعتبارسنجی در Entity framework Code first
ردیابی تغییرات
ردیابی تغییرات در EF Code first
ردیابی تغییرات در Entity Framework، بخش اول
چند نکته کاربردی درباره Entity Framework
نمایش خروجی SQL کدهای Entity framework 6 در کنسول دیباگ ویژوال استودیو
بالا بردن سرعت DbContext هنگام ثبت دادههای زیاد
استفاده از EF در اپلیکیشنهای N-Tier : قسمت اول
نحوه کاهش مصرف حافظه EF Code first حین گزارشگیری از اطلاعات
استفاده از SQL خام و بانکهای اطلاعاتی متفاوت
استفاده مستقیم از عبارات SQL در EF Code first
EF Code first و بانکهای اطلاعاتی متفاوت
نکات مهم کوئری نویسی در EF
نوشتن پرس و جو در Entity Framework با استفاده از LINQ To Entity ، قسمت اول، دوم و سوم
تفاوت بین IQueryable و IEnumerable در حین کار با ORMs
Lazy loading و eager loading
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
روشهایی برای بهبود سرعت برنامههای مبتنی بر Entity framework
نکاتی در مورد استفاده از توابع تجمعی در Entity framework
کوئریهایی با قابلیت استفادهی مجدد
شبیه سازی outer Join در entity framework
اعمال توابع تجمعی بر روی چند ستون در Entity framework
متد LastOrDefault در EF
Func یا Expression Func در EF
درج یک باره چندین رکورد بصورت همزمان هنگام استفاده از ORMها
استفاده از خواص راهبری در Entity framework بجای Join نویسی
مرتب سازی رکوردها به صورت اتفاقی در Entity framework
استفاده از خواص راهبری در EF Code first جهت ساده سازی کوئریها
یافتن مقادیر نال در Entity framework
واکشی اطلاعات به صورت chunk chunk (تکه تکه) و نمایش در ListView
امنیت در LINQ to SQL
کارهایی جهت بالابردن کارآیی - قسمت اول
کارهایی جهت بالابردن کارآیی - قسمت دوم
کارهایی جهت بالابردن کارآیی - قسمت سوم
استفاده از EF در WPF
استفاده از خاصیت Local در Entity Framework
ObservableCollection در Entity Framework
لایه بندی پروژههای EF Code first
پیشنیاز: مطالعه کامل دوره تزریق وابستگیها
استفاده از الگوی Repository اضافی در EF Code first؛ آری یا خیر؟!
Repositoryها روی UnitOfWork ایده خوبی نیستند
پیاده سازی الگوی Context Per Request در برنامههای مبتنی بر EF Code first
پیاده سازی UnitOfWork به وسیله MEF
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
پروژههای انجام شده با EF Code first
انجام پروژه برنامه نویسی
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
سفارش آنلاین پروژه
▼ پروژه های برنامه نویسی
آموزش خرید آنلاین پروژه
استخدام برنامه نویس
برچسب: پروژه asp.net با تکنولوژی entity framework
پروژه نظرسنجی در سایت با Asp.Net با Entity FrameWork
منتشر شده در 2014/10/23 توسط مجید
پروژه نظرسنجی در سایت با Asp.Net از دیگر پروژه هایی که توسط تیم برنامه نویسی و طراحی سایت Projectp30.ir طراحی و پیاده سازی شده است.این پروژه به زبان برنامه نویسی سی شارپ – Asp.Net ، تکنولوژی Entity FrameWork و بانک اطلاعاتی Sql Server طراحی شده است. در این پروژه امکاناتی نظیر ایجاد نظرات ، شرکت در نظرسنجی ، مشاهده نظرات و … قرارداده شده است در واقع ابتدا کاربر می تواند متن نظرسنجی و لیست گزینه های آن را ایجاد کنید و سپس کاربران می توانند با ایجاد حساب کاربری وارد سایت شده و در نظرسنجی شرکت کنند و در نهایت می توانند لیست نظرات داده شده را نیز مشاهده نمایند.
به عنوان باید عرض شود که پروژه نظرسنجی با Asp.Net هم با تکنولوژی معمولی یعنی ADO.Net در سایت وجود دارد و هم با تکنولوژی جدید Entity FrameWork و این پروژه نیز یکی از پروژه های asp.net با تکنولوژی entity framework می باشد.
در ضمن کاربران عزیز می توانند برای انجام پروژه های برنامه نویسی مخصوصاً انجام پروژه های Asp.Net که لیست آنها در سایت نمی باشد از طریق فرم سفارش پروژه،پروژه مورد نظر خود را سفارش دهند.
نوشته شده در اسکیول SQL Server،ای اس پی Asp.Net،پروژه هاتگ شده انجام پروژه های Asp.net،انجام پروژه های برنامه نویسی،پروژه asp.net با تکنولوژی ef،پروژه asp.net با تکنولوژی entity framework،پروژه نظرسنجی در سایت،پروژه نظرسنجی در سایت با asp.net،پروژه نظرسنجی در سایت با تکنولوژی entity framework،پروژه های برنامه نویسی،پروژه وب سایت نظرسنجی،پروژه وب
در این مقاله ، طرز کار عملیات CRUD با استفاده از روش Code First در EF را شرح خواهیم داد . ما این عملیات را در فضای Consoleانجام خواهیم داد .
انجام عملیات CRUD با استفاده از روش Code First در Entity Framework
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
معرفی :
Entity Framework یک ORM میباشد ، که با استفاده از اشیا با دامنه مشخص به ما در کار با داده های مرتبط با برنامه کمک میکند . برای کار با این داده ها ، EF سه راه را پیشنهاد میدهد :
1. روش Code First
2. روش Database First
3. روش Model First
در این مقاله ما از روش اول یعنی ، Code First استفاده خواهیم کرد .
فضای برنامه :
ابتدا ، یک پروژه Console Application ایجاد کنید . سپس به Referenceهای آن با استفاده از Manage NuGet
منابع مربوط به Entity Framework را به پروژه اضافه کنید .
ما از نسخه Entity Framework 6.1.3 استفاده میکنیم .
یک domain class ایجاد میکنیم :
نام آن را Authur.cs می گذاریم و مشخصه های زیر را در آن قرار میدهیم :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using System.ComponentModel.DataAnnotations;
namespace CRUD_CodeFirst
{
public class Author
{
[Key]
public int AuthorID { get; set; }
public string AuthorName { get; set; }
public string BookTitle { get; set; }
public DateTime PublicationDate { get; set; }
}
}
این ، domain class ما است .
یک کلاس Context ایجاد میکنیم :
روش Code First همچنین نیازمند یک کلاس Context می باشد که از DbContext مشتق می شود . یک نمونه از DbContext یک ترکیب از Unit Of Work و Repository Pattern را نشان میدهد . DbContext از نظر مفهومی همانند ObjectContext میباشد .
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
خب ، به سراغ ایجاد کلاس دیگری به نام AuthurContext.cs میرویم و کدهای زیر را در آن قرار میدهیم :
1
2
3
4
5
6
7
8
9
10
11
12
13
using System.Data.Entity;
namespace CRUD_CodeFirst
{
public class AuthorContext : DbContext
{
public AuthorContext() : base("dbConnectionString")
{
Database.SetInitializer<AuthorContext>(new CreateDatabaseIfNotExists<AuthorContext>());
}
public DbSet<Author> Authors { get; set; }
}
}
یک Connection String در App.config قرار میدهیم :
app.config را باز کنید و کد زیر را در آن قرار دهید ، توجه داشته باشید که کد زیر را باید ویرایش کنید و مشخصات پایگاه داده خود را به آن اضافه کنید .
1
2
3
<connectionStrings>
<add name="dbConnectionString" connectionString="Data Source=yourdatasource;Initial Catalog=AuthorDB;User ID=youdbuserid;Password=yourdbpassword;pooling=false;MultipleActiveResultSets=True;pooling=false;" providerName="System.Data.SqlClient" />
</connectionStrings>
نمای کلی فایل config بصورت زیر خواهد بود :
1
2
3
4
5
6
7
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="dbConnectionString" connectionString="Data Source=yourdatasource;Initial Catalog=AuthorDB;User ID=youdbuserid;Password=yourdbpassword;pooling=false;MultipleActiveResultSets=True;pooling=false;" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<entityFramework>
<!--<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">-->
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
تقریبا کار به اتمام رسیده و ما فقط باید کدهای مربوط به عملیات CRUD را اضافه کنیم :
نوشتن کدهای عملیات CRUD در فایل Program.cs :
ابتدا کدهای مربوط inserting را مینویسیم :
1
2
3
4
5
6
7
8
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
namespace CRUD_CodeFirst
{
class Program
{
static void Main(string[] args)
{
//Insert into Author table
using (var context = new AuthorContext())
{
for (int i = 0; i < 10; i++)
{
Author objAuthor = new Author() { AuthorName = "Author" + i, BookTitle = "Book" + i, PublicationDate = DateTime.Now.AddMonths(i) };
context.Authors.Add(objAuthor);
context.SaveChanges();
}
}
}
}
}
تکه کد بالا ، چگونگی ایجاد و اضافه کردن یک Authur را به AuthurDB نمایش میدهد . پیش از آن ما مجموعه از Authurها را تحت عنوان یک مشخصه در کلاس AuthurContext تعریف کردیم .
1
public DbSet<Author> Authors { get; set; }
ما نمونه ای از Authur را به این مجموعه اضافه کردیم سپس متد SaveChange را برای ثبت تغییرات در پایگاه داده فراخوانی کردیم :
نتیجه را در زیر مشاهده میکنید :
در مرحله بعد ، کدهای مربوط به بازیابی اطلاعات مینویسیم :
1
2
3
4
5
6
7
8
9
10
11
//select records
using (var context = new AuthorContext())
{
context
.Authors
.ToList()
.ForEach
(
a => Console.WriteLine("AuthorId={0} AuthorName={1} BookTitle={2} PublicationDate={3}", a.AuthorID, a.AuthorName, a.BookTitle, a.PublicationDate.ToString("dd/mm/yyyy"))
);
}
نتیجه را در زیر مشاهده میکنید :
تکه کد بعدی ، کدهای مربوط بروزرسانی کردن داده ها است :
1
2
3
4
5
6
7
8
//Update into Author table
using (var context = new AuthorContext())
{
Author objAuthor = new Author() { AuthorID = 5, AuthorName = "Barnamenevisan Team", BookTitle = "CRUD using Code First Approach", PublicationDate = DateTime.Now };
context.Authors.Add(objAuthor);
context.Entry(objAuthor).State = EntityState.Modified;
context.SaveChanges();
}
خروجی آن به صورت زیر خواهد بود :
آخرین تکه کد مربوط به حذف یک رکورد است :
1
2
3
4
5
6
7
8
//Delete an Author
using (var context = new AuthorContext())
{
int authorID = 7;
var author = context.Authors.Find(authorID); //specify the AuthodId
context.Authors.Remove(author); //removes the entity from the Authors Entities/Collections
context.SaveChanges();
}
ابتدا ما نیاز داریم که Authur مورد نظر را پیدا کنیم ، سپس آن را با استفاده از متد Remove از مجموعه حذف کنیم و در آخر با متد SaveChange تغییرات را ثبت کنیم :
خروجی را در زیر مشاهده میکنید :
در آخر کلاس Program بصورت زیر خواهد بود :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using System.Data.Entity;
using System.Linq;
namespace CRUD_CodeFirst
{
class Program
{
static void Main(string[] args)
{
//Insert into Author table
using (var context = new AuthorContext())
{
for (int i = 0; i < 10; i++)
{
Author objAuthor = new Author() { AuthorName = "Author" + i, BookTitle = "Book" + i, PublicationDate = DateTime.Now.AddMonths(i) };
context.Authors.Add(objAuthor);
context.SaveChanges();
}
}
//Select Author records
using (var context = new AuthorContext())
{
context
.Authors
.ToList()
.ForEach
(
a => Console.WriteLine("AuthorId={0} AuthorName={1} BookTitle={2} PublicationDate={3}", a.AuthorID, a.AuthorName, a.BookTitle, a.PublicationDate.ToString("dd/mm/yyyy"))
);
}
//Update into Author table
using (var context = new AuthorContext())
{azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
Author objAuthor = new Author() { AuthorID = 5, AuthorName = "RNA Team", BookTitle = "CRUD using Code First Approach", PublicationDate = DateTime.Now };
context.Authors.Add(objAuthor);
context.Entry(objAuthor).State = EntityState.Modified;
context.SaveChanges();
}
//Delete an Author
using (var context = new AuthorContext())
{
int authorID = 7;
var author = context.Authors.Find(authorID); //specify the AuthodId
context.Authors.Remove(author); //removes the entity from the Authors Entities/Collections
context.SaveChanges();
}
Console.ReadKey();
}
}
}
نتیجه گیری :
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
هر گونه پروژه پایگاه داده که دارید در هر سطحی برای ما قابل انجام است. انجام پروژه های SQL Server پذیرفته می شود. پیشنهادات جهت انجام پروژه با هر نوع زبان برنامه نویسی دیگر نیز پذیرفته می شود. در صورت هر گونه سوال می توانید تماس بگیرید یا پیامک بفرستید. تلگرام و واتساپ روی این خط موجود است. شماره تماس
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
دانلود دسته: پروژه های Sql Server
پروژه بانک اطلاعاتی آژانس مسافرتی با Sql Server
پروژه بانک اطلاعاتی آژانس مسافرتی با Sql Server
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
پروژه بانک اطلاعاتی فروشگاه با باپایگاه داده Sql Server
پروژه بانک اطلاعاتی فروشگاه با باپایگاه داده Sql Server
پروژه بانک اطلاعاتی تاکسی تلفنی با Sql Server
پروژه بانک اطلاعاتی تاکسی تلفنی با Sql Server
پروژه بانک اطلاعاتی (پایگاه داده ) بیمارستان sql server
************************ فقط 20،000 تومان **********************
این پایگاه داده شامل موارد زیر می باشد :
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
1.اطلاعات بیمار
2. اطلاعات کارمندان
3. اطلاعات پزشکان
4. اطلاعات نسخ صادر شده
5. اطلاعات حسابداری
************************ فقط 20،000 تومان **********************
این پروژه به قیمت 20،000 تومان به فروش می رسد .
**** در صورت درخواست مشتری پروژه ها به همراه داکیومنت کامل ارائه می شود . ****
****این پروژه به کمک زبان برنامه نویسی delphi 7 پیاده سازی شده است .
************************ فقط 20،000 تومان **********************
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
* انجام کلیه خدمات برنامه نویسی و پروژه های دانشجویی
در زبان های c ++ , c , vb , delphi ، پاسکال ، بیسیک ، html و ...
به همراه پایگاه داده های sql server , access
وگزارش گیری با crystal report 10
تولید نرم افزار برای شرکت ها و
انجام تحقیق ها و پروژه های دانشجویی به همراه ارائه مستندات
با قیمت مناسب و در اسرع وقت پذیرفته می شود .
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276