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
C# Fluent Nhibernate查询仅按日期而不按时间获取记录_C#_Linq_Orm_Fluent Nhibernate - Fatal编程技术网

C# Fluent Nhibernate查询仅按日期而不按时间获取记录

C# Fluent Nhibernate查询仅按日期而不按时间获取记录,c#,linq,orm,fluent-nhibernate,C#,Linq,Orm,Fluent Nhibernate,我有以下对象: public class DomainMenu:EntityBase { public virtual DomainName DomainName { get; set; } public virtual DateTime PlannedDate { get; set; } public virtual DateTime CreationDate { get; set; } public virtual s

我有以下对象:

 public class DomainMenu:EntityBase
    {
        public virtual DomainName DomainName { get; set; }
        public virtual DateTime PlannedDate { get; set; }
        public virtual DateTime CreationDate { get; set; }
        public virtual string Notes { get; set; }                  

    }
    public class DomainMenuMap : ClassMap<DomainMenu>
    {
        public DomainMenuMap()
        {
            Id(c => c.Id).GeneratedBy.Identity();
            Map(c => c.PlannedDate);
            Map(c => c.CreationDate);
            Map(c => c.Notes);
            References(c => c.DomainName);

        }
    }
    public IList<DomainMenu> GetDomainMenuesPlannedForNextDays(int domainId)
    {
        using (_unitOfWorkFactory.Create())
        {
            var todayDate = DateTime.Now.Date;

            var list = _domainMenuRepository.QueryOver()
                .Where(c=>c.PlannedDate.Date >= todayDate)
                .Where(c => c.DomainName.Id == domainId)
                .Future().ToList();
            return list;
        }
    }
和映射:

 public class DomainMenu:EntityBase
    {
        public virtual DomainName DomainName { get; set; }
        public virtual DateTime PlannedDate { get; set; }
        public virtual DateTime CreationDate { get; set; }
        public virtual string Notes { get; set; }                  

    }
    public class DomainMenuMap : ClassMap<DomainMenu>
    {
        public DomainMenuMap()
        {
            Id(c => c.Id).GeneratedBy.Identity();
            Map(c => c.PlannedDate);
            Map(c => c.CreationDate);
            Map(c => c.Notes);
            References(c => c.DomainName);

        }
    }
    public IList<DomainMenu> GetDomainMenuesPlannedForNextDays(int domainId)
    {
        using (_unitOfWorkFactory.Create())
        {
            var todayDate = DateTime.Now.Date;

            var list = _domainMenuRepository.QueryOver()
                .Where(c=>c.PlannedDate.Date >= todayDate)
                .Where(c => c.DomainName.Id == domainId)
                .Future().ToList();
            return list;
        }
    }
公共类DomainMenuMap:ClassMap
{
公共域菜单映射()
{
Id(c=>c.Id).GeneratedBy.Identity();
地图(c=>c.PlannedDate);
Map(c=>c.CreationDate);
地图(c=>c.Notes);
参考文献(c=>c.DomainName);
}
}
我有以下方法:

 public class DomainMenu:EntityBase
    {
        public virtual DomainName DomainName { get; set; }
        public virtual DateTime PlannedDate { get; set; }
        public virtual DateTime CreationDate { get; set; }
        public virtual string Notes { get; set; }                  

    }
    public class DomainMenuMap : ClassMap<DomainMenu>
    {
        public DomainMenuMap()
        {
            Id(c => c.Id).GeneratedBy.Identity();
            Map(c => c.PlannedDate);
            Map(c => c.CreationDate);
            Map(c => c.Notes);
            References(c => c.DomainName);

        }
    }
    public IList<DomainMenu> GetDomainMenuesPlannedForNextDays(int domainId)
    {
        using (_unitOfWorkFactory.Create())
        {
            var todayDate = DateTime.Now.Date;

            var list = _domainMenuRepository.QueryOver()
                .Where(c=>c.PlannedDate.Date >= todayDate)
                .Where(c => c.DomainName.Id == domainId)
                .Future().ToList();
            return list;
        }
    }
public IList GetDomainMenuesPlannedForNextDays(int-domainId)
{
使用(_unitOfWorkFactory.Create())
{
var todayDate=DateTime.Now.Date;
var list=\u domainMenuRespository.QueryOver()
.其中(c=>c.PlannedDate.Date>=todayDate)
.Where(c=>c.DomainName.Id==domainId)
.Future().ToList();
退货清单;
}
}
在此方法中,我希望获取PlannedDate大于或等于today date的行。我只想比较日期值,不比较时间,但得到以下错误:

无法解析属性:PlannedDate。日期:DomainMenu

是否可以在Fluent Nhibernate中使用QueryOver进行编辑? 注意:我只对使用这个解决方案感兴趣,我不想要不同的方法,因为我已经知道它们,我只想知道使用QueryOver是否可行


谢谢。

NHibernate不知道如何处理Date属性,它是.Net属性,queryover api无法处理它

看看这个关于如何用自定义方法和属性扩展queryover的博客


谢谢,我来看看。