
یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شیگرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفهای و امکانات کامل!
مشاهده بیشتر
یادگیری MVC Core از مبانی تا پیشرفته: شیگرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژههای کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!
مشاهده بیشترمشخصات مقاله
آموزش پشتیبانی از تراکنش ها
آموزش پشتیبانی از تراکنش ها
Entity Framework به طور پیش فرض هر زمان که شما متد SaveChanges() را اجرا می کنید عملیات Insert وUpdate و Delete را مهیا می کند.EF به طور پیش فرض برای هر عملیاتی که انجام می شود، یک transaction را شروع و زمانی که این عملیات پایان می یابد ، این transaction را کامل می کند. زمانی هم که شما عملیاتی دیگری را اجرا می کنید، transactionجدیدی را شروع می کند.
EF 6 برای کنترل بیشتر روی transaction ها متد های database.BeginTransaction و Database.UseTransaction را معرفی کرده است. خوب حالا شما می توانید چند عملیات را با یک transaction اجرا کنید، همان طور که در پایین نشان داده شده است.
using (System.Data.Entity.DbContextTransaction dbTran = context.Database.BeginTransaction( )) { try { Student std1 = new Student() { StudentName = "newstudent" }; context.Students.Add(std1); context.Database.ExecuteSqlCommand( @"UPDATE Student SET StudentName = 'Edited Student Name'" + " WHERE StudentID =1" ); context.Students.Remove(std1); //saves all above operations within one transaction context.SaveChanges(); //commit transaction dbTran.Commit(); } catch (Exception ex) { //Rollback transaction if exception occurs dbTran.Rollback(); } }
database.UseTransaction به DbContext این اجازه را می دهد که از یک transaction که در خارج از Entity Framework شروع شده است، استفاده کند.
پروژه DB First sample برای Transactions ها را می توانید آن را با این لینک دانلود کنید.