‫۳ سال قبل، سه‌شنبه ۳۰ شهریور ۱۴۰۰، ساعت ۰۲:۳۶
وقت بخیر؛ در مورد مثال 9 میزان فروش کل هر امکان ... از دستورات زیر استفاده کردم و جواب یکسانی با روش ارائه شده بدست اوردم.
var facilities = _db.Bookings.GroupBy(c=>c.Facility)
                .Select(c => new
                {
                    Name=c.Key.Name,
                    TotalRevenue = c.Sum(s=>s.MemId==0?
                        s.Slots*s.Facility.GuestCost:
                        s.Slots*s.Facility.MemberCost)
                })
                .OrderBy(result => result.TotalRevenue)
                .ToList();
سلام وقت بخیر. چگونه میتوان کد زیر یا کد مشابهی را به اینترفیس unitofwork  پروژه اضافه کرد.
using System.Linq.Expressions; 
 
public class ContextWithExtensionExample
{
   public void DoSomeContextWork(DbContext context)
   {
      var uni = new Unicorn();
      context.Set<Unicorn>().AddIfNotExists(uni , x => x.Name == "James");
   }
}

public static class DbSetExtensions
{
    public static T AddIfNotExists<T>(this DbSet<T> dbSet, T entity, Expression<Func<T, bool>> predicate = null) where T : class, new()
    {
       var exists = predicate != null ? dbSet.Any(predicate) : dbSet.Any();
       return !exists ? dbSet.Add(entity) : null;
    }
}