la ejecución de este código:manipulación DateTime dentro de LINQ to Entities
public bool CheckTime(DateTime date, int UserID, int TotalTimeMin)
{
using (var context = new myDB())
{
var assginments = from c in context.Assignments.Where(x=>(x.AssignmentDateTime < date && x.AssignmentDateTime.Value.AddMinutes(TotalTimeMin) > date) ||
(x.AssignmentDateTime < date.AddMinutes(TotalTimeMin))) select c;
if(assginments != null) return false;
else return true;
}
}
consigo este error.
LINQ to Entities does not recognize the method 'System.DateTime AddMinutes(Double)' method, and this method cannot be translated into a store expression.
TotalTimeMin es int. No estoy seguro de por qué: AssignmentDateTime is DateTime? y tal vez este es el problema?
El problema es que LINQ-to-Entities no sabe cómo traducir DateTime.AddMinutes en el idioma de su almacén de datos (probablemente SQL). Quizás eso te dirija en la dirección correcta. Necesitaré más tiempo para encontrar una solución para ti. –
Gracias, en realidad he jugado un poco con eso y probablemente estés en lo cierto, no importa lo que haga, no puedo usar AddMinnute dentro de la consulta (aunque puedo escribirlo fácilmente con SQL ...) – Dani