当前位置: 首页 > 面试题库 >

实体框架4.1的SQL``插入''语法

王波
2023-03-14
问题内容

我有一个简单的问题,即与“ not in” SQL等效项有关的实体框架语法。本质上,我想将以下SQL语法转换为Entity Framework语法:

select  ID
from    dbo.List
where   ID not in (list of IDs)

这是我用于查找单个记录的方法:

public static List GetLists(int id)
{
    using (dbInstance db = new dbInstance())
    {
        return db.Lists.Where(m => m.ID == id);
    }
}

这是我要用于此的伪方法:

public static List<List> GetLists(List<int> listIDs)
{
    using (dbInstance db = new dbInstance())
    {
        return db.Lists.Where(**** What Goes Here ****).ToList();
    }
}

谁能给我指点一下Where条款区域的内容吗?我阅读了一些有关此的论坛,并提到了使用.Contains()或的情况.Any(),但是没有一个例子非常合适。


问题答案:

快去…

public static List<List> GetLists(List<int> listIDs)
{
    using (dbInstance db = new dbInstance())
    {
        // Use this one to return List where IS NOT IN the provided listIDs
        return db.Lists.Where(x => !listIDs.Contains(x.ID)).ToList();

        // Or use this one to return List where IS IN the provided listIDs
        return db.Lists.Where(x => listIDs.Contains(x.ID)).ToList();
    }
}

这些将大致变成以下数据库查询:

SELECT [Extent1].*
FROM [dbo].[List] AS [Extent1]
WHERE  NOT ([Extent1].[ID] IN (<your,list,of,ids>))

或者

SELECT [Extent1].*
FROM [dbo].[List] AS [Extent1]
WHERE  [Extent1].[ID] IN (<your,list,of,ids>)

分别。



 类似资料:
  • 问题内容: 我在项目中使用EDM模型。 当我通过发布请求在数据库中插入俄语单词时,我得到 控制器: 在数据库中,所有字符集都设置为utf-8 在布局页面中,内容的enc类型为utf-8 数据库代码: 问题答案: 添加到Entity Framework的连接字符串中 这是一个工作添加节点:

  • 为什么EF首先插入具有依赖关系的子对象(PersonnelWorkRecord),然后插入它所依赖的对象(TimesheetActivity)。还有,在纠正这一点上,我有什么选择? 我不确定我是否理解Entity Framework为什么/如何按顺序插入对象,但下面是我用来插入父对象和几个子对象的代码。 运行代码时,PersonnelWorkRecord(TimesheetActivityID)上

  • 我正在使用Entity Framework Core将对象图存储在数据库中。在构建图形的不同时间,我创建一个实体,将其存储到数据库中,然后释放上下文。但是,我遇到了一个问题,EFC试图插入一个实体,该实体在连接到新实体时已经插入。这最好用代码来解释。这是一段简短的代码重现(这是直线代码,但上下文的两种用法发生在代码中的不同时间和位置)。 在对,我得到以下异常: SqlException: 当ide

  • 问题内容: 我想建立这样的关系(一个区域在x个其他区域的附近) 不幸的是,这是行不通的,因为EF生成的FK不正确…我如何才能使像这样的结构起作用? 3个区域的示例:3 Zones: Zone 1, Zone 2, Zone 3 Zone 1 Neighours: Zone 2, Zone 3 Zone 2 Neighbours: Zone 1 Zone 3 Neighbours: Zone1 有什

  • 实体框架5.0首先使用现有数据库编写代码。使用电动工具对类进行逆向工程。一切都很好。数据库有两个表。一个父母和一个孩子的外键返回到父母ID。ID都是带有自动增量的int。我添加了许多父母记录,现在想将孩子记录添加到特定的父母。我能看到的唯一方法是通过在父母表中搜索名称或其他属性并返回ID来找到适当的父母ID。然后在添加孩子时在外键属性中使用该ID。我不想设置新父母,所以这是将孩子添加到现有父母的唯