SORU
22 Mart 2012, PERŞEMBE


DbArithmeticExpression değişkenler sayısal ortak bir tip olmalı

TimeSpan time24 = new TimeSpan(24, 0, 0);
TimeSpan time18 = new TimeSpan(18, 0, 0);    

// first get today's sleeping hours
List<Model.Sleep> sleeps = context.Sleeps.Where(
    o => (clientDateTime - o.ClientDateTimeStamp < time24) && 
          o.ClientDateTimeStamp.TimeOfDay > time18 && 
          clientDateTime.TimeOfDay < time18 && 
          o.UserID == userid).ToList(); 

Bu ifade Etmeniz bu özel durum atar:

DbArithmeticExpression arguments must have a numeric common type.

Yardım Lütfen!

CEVAP
25 Mart 2012, Pazar


DateTime aritmetik Varlık Çerçevesi içinde desteklenmiyor. DbFunctions* kullanmak zorunda. Bu yüzden, ifadenin ilk kısmı gibi bir şey

var sleeps = context.Sleeps(o =>
    DbFunctions.DiffHours(o.ClientDateTimeStamp, clientDateTime) < 24);

DiffHours yöntemi Nullable<DateTime> kabul ettiğini unutmayın.

*EntityFunctions Varlık Çerçevesi sürüm 6 önce.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012
  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008