۴ مطلب با کلمهی کلیدی «کار با entity framework» ثبت شده است
تغییر سایز عکس در سی شارپ
بسم الله الرحمن الرحیم
تغییر سایز عکس در سی شارپ
در بسیاری از پروژه ها ممکن است شما نیاز داشته باشید تصویر ارسالی از سوی کاربر را تغییر اندازه دهید و با یک سایز جدید و حجم کاهش یافته بر روی سرور ذخیره نمایید. کلاسی را برای این منظور در اینجا قرار داده ایم که به سادگی می توانید از آن استفاده کنید.
متد اصلی ما به صورت زیر خواهد بود
public void SaveImage(HttpPostedFileBase thumbnailImageUpload,int width, int height )
{
var path = Server.MapPath("~/Images/Venue/thumbnailUpload");
Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap myBitmap = new Bitmap(thumbnailImageUpload.InputStream);
Image myThumbnail = myBitmap.GetThumbnailImage(
width, height, myCallback, IntPtr.Zero);
var fileName = thumbnailImageUpload.FileName;
myThumbnail.Save(path + "/" + fileName);
}
thumbnailImageUpload نام کنترل FileUpload می باشد که توسط آن فایل ما به این متد معرفی شده است.
توسط دستور Server.MapPath مسیری را که باید تصویر ما در آن ذخیره شود مشخص می کنیم.
ادامه مطلب...آموزش Entity Framework (بخش سوم Tracking)
بسم الله الرحمن الرحیم
آموزش Entity Framework
بهینه سازی Entity Framework
قبل از مطالعه این دوره آموزشی بهتر است دوره های زیر را نیز مطالعه کنید.
آموزش Code first
آموزش migration و Entity Framework در Code First
بخش سوم
در بخش قبل با مفاهیم Local و Load آشنا شدیم، همچنین قابلیت Entity states را به صورت مختصر معرفی کردیم. در این بخش قصد داریم با ویژگی Entity states بیشتر آشنا شویم.
Entity states در Entity Framework
در مقاله قبل گفتیم که Entity states می تواند یکی از 5 حالت زیر را داشته باشد.
• Added
• Unchanged
• Modified
• Deleted
• Detached
Added
این وضعیت بدین معنا است که Entity شما به Context اضافه شده است اما به پایگاه داده هنوز اضافه نشده است.
Unchanged
این وضعیت بدین معنا است که Entity شما در Context با Record متناظر در پایگاه داده یکسان است و به نوعی در این اطلاعات تغییری ایجاد نشده است.
Modified
این وضعیت بدین معنا است که یکی و یا تمامی Property های Entity مورد نظر در Context تغییر داده شده است اما در پایگاه داده ثبت نشده است. این وضعیت برای Entity هایی است که در پایگاه داده قبلا اضافه شده اند.
Deleted
این وضعیت بدین معنا است که Entity مورد نظر از Context حذف شده است اما Record متناظر این Entity همچنان در پایگاه داده موجود است
Detached
این وضعیت بدین معنا است که Entity مورد نظر شما توسط Context بررسی و یا track نمی شود
همانطور که در مقاله قبل بررسی کردیم برای ثبت تغییرات انجام شده در Context بر روی سرور می بایست از دستور SaveChanges استفاده کنیم، این دستور باعث تغییر وضعیت Entity ها به صورت زیر می شود:
آموزش Entity Framework (بخش دوم)
بسم الله الرحمن الرحیم
آموزش Entity Framework
بهینه سازی Entity Framework
قبل از مطالعه این دوره آموزشی بهتر است دوره های زیر را نیز مطالعه کنید.
آموزش Code first
آموزش migration و Entity Framework در Code First
بخش دوم
Entity Framework & ChangeTracker
در بخش قبل با مفاهیم ابتدایی آشنا شدیم در این بخش قصد داریم مثال قبل را کامل نماییم و همچنین با خاصیت جدیدی با نام ChangeTracker آشنا شویم.
با استفاده از خاصیت ChangeTracker شما می توانید اطلاعات کاملی در خصوص Entity ها و عملیات های آنها و همچنین وضعیت ثبت شده برای آنها را بدست آورید.
برای تکمیل پروژه خود Model های زیر را به پروژه خود اضافه می کنیم.
public class Author : IPerson
{
public int AuthorId { get; set; }
public string Name { get; set; }
public string Biography { get; set; }
}
public class Reader : IPerson
{
public int ReaderId { get; set; }
public string Name { get; set; }
public string Username { get; set; }
}
public interface IPerson
{
string Name { get; }
}
حال دستورات زیر را به Controller اضافه می کنیم
ادامه مطلب...آموزش Entity Framework
بسم الله الرحمن الرحیم
آموزش Entity Framework
بهینه سازی Entity Framework
قبل از مطالعه این دوره آموزشی بهتر است دوره های زیر را نیز مطالعه کنید.
آموزش Code first
آموزش migration و Entity Framework در Code First
بخش اول
در ادامه سری مقالات مربوط به بهینه سازی SQL و بهینه سازی کوئری در این دوره قصد داریم در خصوص افزایش کارایی در Entity Framework صحبت کنیم. برای مطالعه مقالات بهینه سازی می توانید از طریق لینک های زیر اقدام فرمایید.
بهینه سازی کوئری
بهینه سازی SQL
در تمامی برنامه ها اکثر برنامه نویسان برای واکشی و بروزرسانی اطلاعات درون پایگاه داده خود از دستوراتی استفاده می کنند که مستقیما بر روی پایگاه داده اجرا می شود (مانند FirstOrDefault و یا ToList()) این روش، روش اشتباهی نیست اما طبیعتا هزینه ای برای ارسال اطلاعات به سمت سرور و دریافت نتیجه اجرای این دستور به برنامه شما تحمیل خواهد شد.
یکی از روش هایی که می توانید این مشکل را بر طرف نمایید استفاده از دستور Local می باشد. این دستور به جای فعالیت بر روی پایگاه داده بر روی Context شما کار خواهد کرد و هیچگاه دستوری را برای SQL Server ارسال نخواهد کرد و همین امر باعث افزایش سرعت اجرای دستورات شما خواهد شد.
برای آموزش نحوه کار کردن با این دستور، یک مثال را انجام خواهیم داد.
یک پروژه MVC ایجاد کنید و Model ایی با نام Ably به آن اضافه کنید. این مدل می بایست به صورت زیر باشد:
public class Ably
{
public int Id { get; set; }
public string PostName { get; set; }
}
سپس Controller خود را ایجاد می کنیم و در آن کد زیر را برای load اطلاعات می نویسیم.
ادامه مطلب...