Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq MVC字符串和时间与<;=&燃气轮机=_Linq - Fatal编程技术网

Linq MVC字符串和时间与<;=&燃气轮机=

Linq MVC字符串和时间与<;=&燃气轮机=,linq,Linq,我的数据库中有字符串格式的“timein”和“timeout”,我需要帮助,因为我不知道逻辑 大概是这样的: Entity.time a; using (var b = new Entity.DatabaseEntities()) { a = b.times.Where(v => Convert.ToDateTime(v.timein) <= Convert.ToDateTime(DateTime.Now.To

我的数据库中有字符串格式的“timein”和“timeout”,我需要帮助,因为我不知道逻辑

大概是这样的:

        Entity.time a;

        using (var b = new Entity.DatabaseEntities())
        {
            a = b.times.Where(v => Convert.ToDateTime(v.timein) <= Convert.ToDateTime(DateTime.Now.ToString("hh:mm")) && Convert.ToDateTime(v.timeout) >= Convert.ToDateTime(DateTime.Now.ToString("hh:mm"))).FirstOrDefault();

        }        
Entity.time a;
使用(var b=new Entity.DatabaseEntities())
{
a=b.times.Where(v=>Convert.ToDateTime(v.timein)=Convert.ToDateTime(DateTime.Now.ToString(“hh:mm”)).FirstOrDefault();
}        

timein
timeout
更适合于数据库类型
Time
和.net类型
TimeSpan
。假设字符串的格式为
HH:mm
,您应该进行字符串比较,并且不转换查询中的任何内容,这样查询是可搜索的。如果它们是另一种格式,则必须使用一些示例数据更新问题

查询无法工作的原因是表达式需要能够转换为SQL语句,并且并非所有内容(实际上大多数类型/方法)都是不可翻译的

Entity.time a;
using (var b = new Entity.DatabaseEntities())
{
    var timeOfDay = DateTime.Now.ToString("HH:mm");
    a = b.times.FirstOrDefault(v => 
        string.Compare(v.timein, timeOfDay) >= 0
        && string.Compare(v.timeout, timeOfDay) <= 0);
}
Entity.time a;
使用(var b=new Entity.DatabaseEntities())
{
var timeOfDay=DateTime.Now.ToString(“HH:mm”);
a=b.times.FirstOrDefault(v=>
string.Compare(v.timein,timeOfDay)>=0

&&比较(v.timeout,timeOfDay)非常感谢@Igor先生帮助我理解这个问题