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

  • Film Riot

    Film Riot

    16 NİSAN 2006
  • ShoSho

    ShoSho

    20 Ocak 2010
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011