c# - 在 DBQuery 派生的列表中执行包含

标签 c# entity-framework linq

我有一个 DbQuery,我想用我的 DbQuery 项填充另一个列表,条件如下:

var carsList= DbContext.Cars.Where(e=> e.brand == brand);
var myFiltredcarList = new List<Car>();

foreach(var car in carsList)
{
//add items in list according to a condition
myFiltredcarList.Add(car);

}

如果可能的话,我想现在做一些事情:

myFiltredcarList.Include("Brands");

我不能将我的 myFiltredcarList 用作列表,我想保留我的 carsList 出价以包含在我的过滤列表中(myFiltredcarList)

这可能吗? 如果这是我需要改变的?

最佳答案

这是不可能的。

首先,Include方法在 IQueryable<T> 上定义,其次它仅适用于 LINQ To Entities 查询,而您的列表显然不是。

唯一的办法就是像这样将过滤条件嵌入到原始查询中

var myFiltredcarList= DbContext.Cars
    .Include("Brands")
    .Where(e => e.brand == brand && some condition)
    .ToList();

关于c# - 在 DBQuery 派生的列表中执行包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35176181/

相关文章:

c# - Outlook:如何访问其他联系人文件夹?

c# - 绑定(bind)和级联下拉列表 mvc 3

c# - 在 app.config 之外的 Entity Framework 中为 PostgreSQL 数据库设置一个 connectionString

c# - 使用另一个列表 PowerShell 过滤列表

c# - 为什么 LINQ-to-Entities 将此查询放在子选择中?

c# - 如何在 .NET 枚举中搜索正确的方法

c# - 在 .NET 中忽略 DST(夏令时)

c# - 在 EntityFramework 中执行 Oracle 存储过程

c# - LINQ 确定集合中对象的属性是否存在于不同的集合中

c# - Linq 表达式获取插入的 Convert 函数