c# - C# LINQ 从列表中选择值不包含在数据库中
问题描述
我正在与 Entity Framework CORE 一起开发 .NET CORE 5 应用程序。我有字符串列表,我需要从列表中过滤掉数据库中不存在的记录,以便我只能处理这些记录。在接下来的尝试中,我收到了 null 错误。我正在使用 Contain 但如果我有大约 4000 条记录,我不确定它是否真的合适
error
Value cannot be null. (Parameter 'value')
Code
List<string> PaymentSourceReferences = new List<string>();
PaymentSourceReferences.Add("e3gdf210-f933-ec11-xxxx-00505691aaaa");
PaymentSourceReferences.Add("gg34b580-f843-ec11-xxxx-00505691rrrr");
PaymentSourceReferences.Add("43gf353d-f8fe-ec11-xxxx-00505691tttr");
PaymentSourceReferences.Add("h4gd5170-7943-ec11-xxxx-00505687bbbb");
PaymentSourceReferences.Add("4gdv5170-7965-ec11-xxxx-005056874gdg");
var d2 = (from x in PaymentSourceReferences
where !x.Contains(db.myTable)
select PaymentSourceReference).ToList();
解决方案
var d2 = PaymentSourceReferences.Where(x => !db.myTable.Any(t => t.Id == x)).ToList();
推荐阅读
- php - CSGO Steam API ~ 如何获取可交易和不可交易的物品到数组中
- html - New to PWA's, need a bit of guidance
- javascript - 将颜色选择器/外部库添加到 jsPsych 插件
- javascript - 顺风黑暗:不在 next.js 上工作?
- php - 使用 PHP 在文本文件中搜索字符串
- ios - Swift 中一个垂直 ScrollView 中的多个水平 ScrollView?
- excel - 如何在 VBA Excel 中单击 href
- python-3.x - ValueError 在 makemigrations 期间从模型中的函数返回函数
- java - REST API 此应用程序没有显式映射 /error,因此您将其视为后备
- wordpress - 在安装之前通过 https 使 wordpress 加载资产