构建我的fir ASP.NET应用程序,并有一个管理页面,用于添加或删除关键表中的项目。这工作正常,但我想在remove函数的选择中添加一个过滤器,以便无法删除db中使用的项目。
一个例子是两个表1. ItemBank,2。问题。 ItemBank有PK而且Questions是FK,目前我有一个从ItemBank表中检索ItemBank项的查询,但我想像这个SQL语句一样过滤它:
Select *
from ItemBank
where BankID not in (Select BankID from Questions);
如何修改以下查询才能执行此操作?
public IQueryable GetItemBank()
{
var _db = new cs1.Models.ProductContext();
IQueryable query = _db.ItemBank;
return query;
}
答案 0 :(得分:1)
如果您正确设置了外键,则可以执行_db.ItemBank.Where(i=>!i.Questions.Any())