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

  • JonnyEthco

    JonnyEthco

    5 EKİM 2006
  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • mobilenet.cz

    mobilenet.cz

    26 NİSAN 2008