我在MySQL数据库中减去两个日期并将它们与int数字进行比较时遇到问题。我尝试使用dbfunctions.diffdays,但这是类型冲突。
启动应用程序时,我收到一条消息:
System.ArgumentException:'DbArithmeticExpression参数必须具有 数字通用类型。'
下面是我的代码 我
x.getVariable("var2");
答案 0 :(得分:0)
您可以使用
System.Data.Objects.EntityFucntions
和代码中的
where ... &&
EntityFunctions.DiffDays(Rezerwacje.DataDo, Rezerwacje.DataOd) > intervalDay
答案 1 :(得分:0)
using System.Data.Entity;
//code in LINQ
... DbFunctions.DiffDays(Rezerwacje.DataDo, Rezerwacje.DataOd) >= intervalDay
答案 2 :(得分:0)
最终我使用List和foreach。
从数据库下载数据:
public int DateCleanFloor1to2(DateTime dateTime)
{
var dateList = (from Rezerwacje in db.Rezerwacje
join rooms in db.rooms on Rezerwacje.PokojID equals rooms.id
where (rooms.floor > 0 && rooms.floor <= 2) && (Rezerwacje.DataDo == dateTime)
select Rezerwacje).ToList();
return SubtractDateToDateFrom(dateList, dateTime.AddDays(25));
}
和带有foreach循环的方法:
public int SubtractDateToDateFrom(List<Rezerwacje> dateList, DateTime dateTime)
{
int count = 0;
foreach (var item in dateList)
{
if (item.DataDo < dateTime)
{
count++;
}
}
return count;
}
@DevilSuichiro @Arulkumar @Seven