همان طور که میدانید، Entity Framework تغییراتی را که بر روی اشیا انجام میدهید، ردیابی میکند. بدیهی است که EF از طریق ردیابی این تغییرات است که میتواند تغییرات انجام شده را شناسایی کند و آنها را در مواقع مورد نیاز مانند ذخیرهی تغییرات (DbContext.SaveChanges)، بر روی پایگاه داده اعمال کند. شما میتوانید به اطلاعات این ردیاب تغییر و اعمال مرتبط به آن از طریق ویژگی DbContext.ChangeTracker دسترسی پیدا کنید. در این مقاله بیشتر سعی به ب ...
1) رفتار متصل و غیر متصل در EF چیست؟اولین نکته ای که به ذهنم میرسه اینه که برای استفاده از EF حتما باید درک صحیحی از رفتارها و قابلیتهای اون داشته باشیم. نحوه استفاده ازٍEF رو به دو رفتار متصل و غیر متصل تقسیم میکنیم.حالت پیش فرضEF بر مبنای رفتار متصل میباشد. در این حالت شما یک موجودیت رو از دیتابیس فرا میخونید EF این موجودیت رو ردگیری میکنه اگه تغییری در اون مشاهده کنه بر روی اون برچسب "تغییر داده شد" میزنه و حتی اونقدر هوشمن ...
همونطور که میدونیم درج یکباره چندین رکورد هنگام استفاده از Entity Framework فعلا امکان پذیر نیست و باید از یک حلقه استفاده کرد و آنها رو یک به یک وارد کرد که هنگامی تعداد رکوردها زیاد باشن زمان اجرا یکم زیاد میشه. برای رفع این مشکل در EF Code First میتونین خاصیت AutoDetectChangesEnabled رو برای Context غیرفعال کنید که استفاده از این روش قبلا در این مقاله توضیح داده شده است. راه دیگه استفاده از SqlBulkCopy هست که میتوانید هنگام استفاده از O ...
تشریح مسئله :شاید شما هم هنگام ثبت، ویرایش و حتی حذف دادههای زیاد در Code First متوجه کاهش چشمگیر کارایی پروژه خود شده باشید.(برای مثال ثبت 5000 داده یا بیشتر به صورت هم زمان).برای رفع مشکل بالا چه باید کرد؟نکته : آشنایی اولیه با مفاهیم EF CodeFirst برای درک بهتر مفاهیم الزامی است.
EntityFramework Code First هنگام کار با Poco Entities برای اینکه مشخص شود که چه داده هایی باید به دیتابیس ارسال شود مکانیزمی ...
در قسمت اول در مورد روش TPT خواندید. در این قسمت به روش TPH میپردازیم.
روش TPH
در این روش، ارث بری از طریق فقط یک جدول ایجاد میشود و زیر مجموعهها بر اساس مقدار یک فیلد از یکدیگر متمایز میشوند. پس اگر جدولی دارید که برای متمایز کردن رکوردهای آن از یک فیلد استفاده میکنید، روش TPH مناسب شما است. با روش TPH نیز میتوانید به همان مدلی که در روش TPT دارید برسید، تنها ...
بخش هایی از کتاب "مرجع کامل Entity Framework 6.0"
ترجمه و تالیف: بهروز راد
وضعیت: در حال نگارش
پیشتر، آقای نصیری در بخشی از مباحث مربوط به Code First در مورد روشهای مختلف ارث بری در EF و در روش Code First صحبت کرده اند. در این مقالهی دو قسمتی، در مورد دو تا از این روشها در حالت Database First میخوانید.
چرا باید از ارث بری استفاده کنیم؟
یکی از اهداف اصلی ORMها این ...
در این پست قصد دارم یک UnitOfWork به روش MEF پیاده سازی کنم. ORM مورد نظر EntityFramework CodeFirst است. در صورتی که با UnitOfWork , MEF آشنایی ندارید از لینکهای زیر استفاده کنید:MEFUnitOfWork
برای شروع ابتدا مدل برنامه رو به صورت زیر تعریف کنید. public class Category
{
public int Id { get; set; }
public string Title { get; set; }
}
...
برای استفاده از سیستم مدیریت کاربران و نقشهای آنها به یک پیاده سازی از کلاس انتزاعی MembershipProvider نیاز داریم. SQL Membership Provider تو کار دات نت، انتخاب پیش فرض ماست ولی به دلیل طراحی در دات نت 2 و نیاز سنجی قدیمی اون و همچنین گره زدن برنامه با sql server (استفاده از stored procedure و... ) انتخاب مناسبی نیست. پیشنهاد خود مایکروسافت استفاده از SimpleMembership است که این پیاده سازی قابلیتهای بیشتری از MembershipProvider پایه رو ...
رابطه چند به چند در مطالب EF Code first سایت جاری، در حد تعریف نگاشتهای آن بررسی شده، اما نیاز به جزئیات بیشتری برای کار با آن وجود دارد که در ادامه به بررسی آنها خواهیم پرداخت:
1) پیش فرضهای EF Code first در تشخیص روابط چند به چند
تشخیص اولیه روابط چند به چند، مانند یک مطلب موجود در سایت و برچسبهای آن؛ که در این حالت یک برچسب میتواند به چندین مطلب مختلف اشاره کند و یا برعکس، هر مطلب میتواند چندین برچسب داشته باشد، نیازی به ت ...
ابتدا مثال کامل این قسمت را با شرح زیر درنظر بگیرید؛
در اینجا هر کاربر، یک کارتابل میتواند داشته باشد (رابطه یک به صفر یا
یک) و تعدادی سند منتسب به او (رابطه یک به چند). همچنین روابط بین
کارتابل و اسناد نیز چند به چند است:using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Data.Entity.Migrations;
using System.Data.Entity.ModelConfiguration; ...