Entity framework EF7中带子查询的LINQ查询不返回数据

Entity framework EF7中带子查询的LINQ查询不返回数据,entity-framework,linq,Entity Framework,Linq,我使用的是MVC6EF7,代码如下。当我在调试模式下运行时,LINQ查询会给出错误评估timedout,如果我简单地运行它,查询不会在屏幕上显示任何数据。 我尝试在没有子查询的情况下返回完整的数据,我还尝试将子查询作为主查询,这也会返回数据。但一旦我将其作为子查询,它就不会返回数据。我错过了什么?EF7不支持Contains吗?还有别的办法吗?我不希望有一个带有内部查询的变量,然后使用它,我想要一个组合查询 using System.Collections.Generic; using Syst

我使用的是MVC6EF7,代码如下。当我在调试模式下运行时,LINQ查询会给出错误评估timedout,如果我简单地运行它,查询不会在屏幕上显示任何数据。 我尝试在没有子查询的情况下返回完整的数据,我还尝试将子查询作为主查询,这也会返回数据。但一旦我将其作为子查询,它就不会返回数据。我错过了什么?EF7不支持Contains吗?还有别的办法吗?我不希望有一个带有内部查询的变量,然后使用它,我想要一个组合查询

using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Data;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Mvc;
using Microsoft.Data.Entity;

using NavMember;

namespace NavMember.Controllers
{
    [Produces("application/json")]
    [Route("api/VendorsAPI")]
    public class VendorsAPIController : Controller
    {
        private TestNavMembershipContext _context;

            public class testlist
        {
            public int MVE_VEID;
            public string VE_NAME;
            public string VE_ADDR1;
        }
        public VendorsAPIController(TestNavMembershipContext  context)
        {
            _context = context;

        }

        // GET: api/VendorsAPI
        [HttpGet]
        public IEnumerable<testlist> GetVendors()
        {

            IQueryable<testlist> query = from t1 in _context.Vendors
                                         let t2s = from t2 in _context.VendorMemberResNM
                                                   where t2.MVMR_MMID.Value == 237244
                                                   select t2.MVMR_VEID.Value
                                         where t2s.Contains(t1.MVE_VEID)
                                         select new testlist { MVE_VEID = t1.MVE_VEID, VE_NAME = t1.VE_NAME, VE_ADDR1 = t1.VE_ADDR1 };
            return query;

        }
使用System.Collections.Generic;
使用System.Linq;
使用System.Linq.Expressions;
使用系统数据;
使用Microsoft.AspNet.Http;
使用Microsoft.AspNet.Mvc;
使用Microsoft.Data.Entity;
使用导航成员;
命名空间NavMember.Controllers
{
[产生(“应用程序/json”)]
[路线(“api/供应商api”)]
公共类供应商APIController:控制器
{
私有TestNavMembershipContext_context;
公共类测试列表
{
公共国际环境;
公共字符串VE_NAME;
公共字符串VE_ADDR1;
}
公共供应商APIController(TestNavMembershipContext上下文)
{
_上下文=上下文;
}
//获取:api/供应商api
[HttpGet]
公共IEnumerable GetVendors()
{
IQueryable query=来自_context.Vendors中的t1
设t2s=来自_context.vendormemberrsnm中的t2
其中t2.MVMR_MMID.Value==237244
选择t2.MVMR\u VEID.Value
其中t2s.包含(t1.MVE_-VEID)
选择新测试列表{MVE_VEID=t1.MVE_VEID,VE_NAME=t1.VE_NAME,VE_ADDR1=t1.VE_ADDR1};
返回查询;
}

你是否尝试调用
query.ToList()
我刚才调用了,没有帮助…它给出了一个错误,多部分标识符“t2.MVMR\u VEID”无法绑定。因此我尝试删除.Value,因此多部分标识符错误消失了,但再次没有数据。我相信t2.MVMR\u VEID.Value(或t2.MVMR\u VEID,两者都尝试过)由于某些类型问题,无法与t1.MVE\u VEID匹配,但不确定是什么原因,因为这两个字段之间的数据不匹配。您是否尝试调用
query.ToList()
我刚才调用了,但没有帮助…它在多部分标识符“t2.MVMR\u VEID”时出错无法绑定。因此我尝试删除.Value,因此多部分标识符错误消失,但再次没有数据。我认为t2.MVMR______________________________________________________。