如何引用实体?我知道在这一行
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")