Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Entity framework 实体框架6.0-方法System.Linq.Queryable.Whewre()的评估需要使用静态字段_Entity Framework_Linq_Entity Framework 6 - Fatal编程技术网

Entity framework 实体框架6.0-方法System.Linq.Queryable.Whewre()的评估需要使用静态字段

Entity framework 实体框架6.0-方法System.Linq.Queryable.Whewre()的评估需要使用静态字段,entity-framework,linq,entity-framework-6,Entity Framework,Linq,Entity Framework 6,我在SharePoint 2013项目中使用Entity Framework 6.0和.NET Framework 4.5,根据特定条件从数据库中的视图获取数据 我的Context.cs文件如下所示: namespace Clients { using System; using System.Data.Entity; using System.Data.Entity.Infrastructure; public part

我在SharePoint 2013项目中使用Entity Framework 6.0和.NET Framework 4.5,根据特定条件从数据库中的视图获取数据

我的Context.cs文件如下所示:

namespace Clients
    {
        using System;
        using System.Data.Entity;
        using System.Data.Entity.Infrastructure;

        public partial class Clients_ReqsEntities : DbContext
        {
            public Clients_ReqsEntities()
                : base("name=Clients_ReqsEntities")
            {
            }

            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                throw new UnintentionalCodeFirstException();
            }

            public virtual DbSet<ClientInfo> ClientInfo { get; set; }
        }
    }
    namespace Clients
{
    using System;
    using System.Collections.Generic;

    public partial class ClientInfo
    {
        public string ClientTitle { get; set; }
        public string ClientID { get; set; }
        public string ClientUNumber { get; set; }
    }
}
我正在尝试使用以下查询,根据ClientUNumber从该视图获取数据:

 string anyValue = "something"; 
  var client = (context.ClientInfo.Where(c => c.ClientUNumber.Trim() == anyValue)).FirstOrDefault(); 
返回值始终为“null”,但是如果在监视窗口中运行该行代码,则会出现以下错误:

方法System.Linq.Queryable.Where()的求值需要使用静态字段System.Data.Entity.Core.Objects.ObjectQuery`1[Clients.ClientInfo].MergeAsMethod,该字段在此上下文中不可用

我也尝试过使用此查询:

(from c in context.ClientInfo where c.ClientUNumber.Trim() == anyValue select c).FirstOrDefault();
但我也犯了同样的错误

有些帖子建议使用ToList(),但这会从数据库中获取所有记录,我会不断获取评估时间dout。所以我认为这不是正确的方法。PS:该视图有7k条记录


感谢您的帮助

您是否尝试过问题的第一条评论中建议的内容?我认为是.Trim()导致了问题您是否尝试过
c.clientunmember.StartsWith(anyValue)
?然后尝试
.FirstOrDefault(c=>c.ClientUNumber.StartsWith(anyValue))
而不是
Where().FirstOrDefault()
@BradleyUffner我的解决方案的文件夹中没有任何.suo。甚至与.sln文件不在同一文件夹中。@ThomasSchmidt,删除trim()也不起作用。您是否尝试过问题的第一条注释中建议的方法?我认为是.trim()导致了问题。您是否尝试过
c.ClientUNumber.StartsWith(anyValue)
?然后尝试
.FirstOrDefault(c=>c.ClientUNumber.StartsWith(anyValue))
而不是
Where().FirstOrDefault()
@BradleyUffner我的解决方案的文件夹中没有任何.suo。甚至不在与.sln文件相同的文件夹中。@ThomasSchmidt,删除trim()也不起作用。