C# 如何在实体框架中使用BETWEEN关键字?

C# 如何在实体框架中使用BETWEEN关键字?,c#,entity-framework,between,C#,Entity Framework,Between,在实体框架中如何使用关键字之间的关系 这是我的SQL查询 SELECT * FROM [HRM].[dbo].[meals] WHERE SHIFTCODE = 'Normal' AND 12.59 BETWEEN [STAR TIME] AND [STAR TIME]+DURATION/10; 这是我的实体框架代码 HRMEntities HRM = new HRMEntities(); meal ml = HRM.meals.SingleOrDe

在实体框架中如何使用关键字之间的关系

这是我的SQL查询

    SELECT *
  FROM [HRM].[dbo].[meals]
  WHERE SHIFTCODE = 'Normal'
  AND 12.59 BETWEEN [STAR TIME] AND [STAR TIME]+DURATION/10;
这是我的实体框架代码

HRMEntities HRM = new HRMEntities();
            meal ml = HRM.meals.SingleOrDefault(p => p.SHIFTCODE == "Normal");

值12.59可以是变量

您可以使用
=
p.SHIFTCODE==“正常”
&&p.StartTime=您的时间);

支票不应该倒过来吗?p、 开始时间=你的时间)@Nilsen,是的,在输入答案时混合了它。谢谢各位,还有一件事,基本上StartTime在SQL中存储为十进制,duration存储为INT,因为它们处理时间。有没有简单的方法可以去掉像12.75这样的值,STAR TIME=12.45 DURATION=30//30分钟开始时间+DURATION/10=12.75如果myTime为11.05,它会给出错误的反馈,但并不清楚您的新查询,但您可以使用
((int)StartTime)+DURATION获得小数的
int
部分。您可以查看该方法
HRMEntities HRM = new HRMEntities();
meal ml = HRM.meals.SingleOrDefault(p => p.SHIFTCODE == "Normal" 
                                    && p.StartTime <= yourTime 
                                    && (p.StartTime + duration) >= yourtime);