C# LinqTo实体中的日期部分相等
从MSDN站点 Date属性,它返回一个DateTime值,该值表示一个日期,但不包含其时间组件 那么这个方法呢,C# LinqTo实体中的日期部分相等,c#,.net,entity-framework,datetime,linq-to-entities,C#,.net,Entity Framework,Datetime,Linq To Entities,从MSDN站点 Date属性,它返回一个DateTime值,该值表示一个日期,但不包含其时间组件 那么这个方法呢, public List<int> GetSymbolIdsFromProjectionsForDate(DateTime testDate) { var date = testDate.Date; var db = _projContext; List<int> symbList; using (db) {
public List<int> GetSymbolIdsFromProjectionsForDate(DateTime testDate)
{
var date = testDate.Date;
var db = _projContext;
List<int> symbList;
using (db)
{
symbList =
db.CommodityProjections.Where(e => DbFunctions.TruncateTime(e.ProjectionDate) == date)
.Select(e => e.CommoditySymbolId)
.ToList();
}
return symbList;
}
公共列表GetSymbolicdFromProjectionsForDate(日期时间测试日期)
{
var date=testDate.date;
var db=_projContext;
列表符号列表;
使用(db)
{
符号学家=
db.CommodityProjections.Where(e=>DbFunctions.TruncateTime(e.ProjectionDate)=日期)
.选择(e=>e.CommoditySymbolId)
.ToList();
}
返回符号列表;
}
列表计数始终为零。因此,在调试时,我发现date变量实际上不仅仅是datetime的date组件,如图所示
日期={11/14/2015 12:00:00 AM}
那么如何使用SQL Server比较日期呢。(我刚从MySql迁移过来,在MySql中这更容易实现)只要在两个日期都使用
DbFunctions.TruncateTime
.Where(e => DbFunctions.TruncateTime(e.ProjectionDate) == DbFunctions.TruncateTime(testDate)