SQL in not语句的IQueryable语法

时间:2016-05-13 13:37:50

标签: c# asp.net asp.net-web-api

构建我的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;
}

1 个答案:

答案 0 :(得分:1)

如果您正确设置了外键,则可以执行_db.ItemBank.Where(i=>!i.Questions.Any())