به دست آوردن آخرین رکورد بازبینی شده در دیتابیس توسط Linq

به دست آوردن آخرین رکورد بازبینی شده در دیتابیس توسط Linq <br/> فرض کنید رکوردی رو در دیتابیس ذخیره کردید و یا رکورد موجودی رو ویرایش کردید و می خواهید آخرین رکوردی که اصطلاحا مورد بازبینی قرار گرفته را در اختیار داشته باشید

فرض کنید رکوردی رو در دیتابیس ذخیره کردید و یا رکورد موجودی رو ویرایش کردید و می خواهید آخرین رکوردی که اصطلاحا مورد بازبینی قرار گرفته را در اختیار داشته باشید

فرض کنید بدین منظور ستونی در جدول مورد نظر قرار داده ایم و با هر تغییر در رکورد مقدار آنرا نیز تعویض کرده تا بدین ترتیب متوجه رکورد تغییر یافته شویم که در این مثال و در جدول Person ستونی با نام Revision ایجاد شده است

بنابراین کوئری Linq متناسب با این سناریو به صورت زیر خواهد بود


  1. public IEnumerable<Person> GetPersons()
  2.         {
  3.             return from person in Person.All()
  4.                    group person by person.Id
  5.                    into personGroup
  6.                    from entity in personGroup
  7.                    where entity.Revision == personGroup.Max(x => x.Revision)
  8.                    select entity;
  9.         }