Query menggunakan kondisi selisih DateTime pada Entity Framework

Tidak semua query pada Linq di support oleh Entity Framework, termasuk pengurangan 2 nilai datetime.

public List<Price> GetExpiredPrice()
{
   return _priceRepo.Get(x=>x.EndDate.Value.Subtract(DateTime.Now).Days == Core.Constants.PriceReminderDays).ToList();
}

Query di atas akan menghasilkan error

cannot be converted to SQL.

Gunakan DbFunctions dari  assembly System.Data.Entity

public List<Price> GetExpiredPrice()
{
    return _priceRepo.Get(x=>DbFunctions.DiffDays(DateTime.Now, x.EndDate) == Core.Constants.PriceReminderDays).ToList();
}

 

 

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s