对引用实体的 Linq 查询



如何引用实体?我知道在这一行

if(!db.users.any(u => u.customer =="mike")

(db.users) 是指 users 表。所以现在我需要在.cs中引用一个可查询的 iqueryable

public IQueryable<Address_List_NEW> GetAddress_List_NEWs(string Customer)
{ 
    return this.DataContext.Address_List_NEWs;
}  

为什么这不起作用??

if(!Address_List_NEW.any(u => u.Customer == "mike")

你应该返回一个强类型的IQueryable<T>,否则 Linq 不知道你正在访问的对象的属性:

public IQueryable<Address_List_NEW> GetAddress_List_NEWs() 
{ 
   return this.DataContext.Address_List_NEWs; 
}

请记住,您没有使用传入的参数,所以我删除了它 - 这是您想要的吗?(现在这种方法没有做太多事情)

然后你应该能够做到:

var adressList = GetAddress_List_NEWs();
if(!adressList.Any(u => u.Customer == "mike"))
...
Address_List_NEW是一个

类的名称,而不是一个IQueryable<Address_List_NEW>,所以你不能从中调用Any

根据您的函数签名,您看起来要编写以下内容:

public bool CustomerHasAddress(string Customer) 
{ 
   return !this.DataContext.Address_List_NEWs.Any(u => u.Customer == Customer); 
}

或者可能是这样的:

public IQueryable<Address_List_NEW> GetAddress_List_NEWsForCustomer(string Customer) 
{ 
   return this.DataContext.Address_List_NEWs.Where(u => u.Customer == Customer); 
}

然后你可以打电话给GetAddress_List_NEWsForCustomer("mike").Any()

甚至像这样:

public IQueryable<Address_List_NEW> GetAddress_List_NEWs() 
{ 
   return this.DataContext.Address_List_NEWs; 
}

你可以从中打电话给GetAddress_List_NEWs.Any(u => u.Customer == "mike")

相关内容

  • 没有找到相关文章

最新更新