惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
P
Proofpoint News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Project Zero
Project Zero
Cyberwarzone
Cyberwarzone
K
Kaspersky official blog
AWS News Blog
AWS News Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
News | PayPal Newsroom
S
Schneier on Security
O
OpenAI News
S
Security @ Cisco Blogs
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
月光博客
月光博客
GbyAI
GbyAI
T
Tenable Blog
B
Blog
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
T
Troy Hunt's Blog
量子位
S
Security Affairs
Security Archives - TechRepublic
Security Archives - TechRepublic
The Cloudflare Blog
W
WeLiveSecurity
U
Unit 42
Application and Cybersecurity Blog
Application and Cybersecurity Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The GitHub Blog
The GitHub Blog
Cloudbric
Cloudbric
A
About on SuperTechFans
Hacker News - Newest:
Hacker News - Newest: "LLM"
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Google DeepMind News
Google DeepMind News
博客园_首页
I
Intezer
P
Proofpoint News Feed
N
News and Events Feed by Topic
SecWiki News
SecWiki News
Microsoft Security Blog
Microsoft Security Blog
TaoSecurity Blog
TaoSecurity Blog
博客园 - 三生石上(FineUI控件)
NISL@THU
NISL@THU
Latest news
Latest news
H
Help Net Security
G
Google Developers Blog
博客园 - Franky
T
The Exploit Database - CXSecurity.com
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary

.NET

.net framework 项目新样式 数据库迁移报错 - V2EX 知乎网友:“VS2026 还是跑在 .NET Framework 4.8 上,看来 .NET LTS 只有三年的问题还真把微软自己的脖子卡住了” - V2EX .Net 有没有类似若依这种后台框架? - V2EX 请教个 .NET Framework 4.0 升级以运行在 arm 上的问题 - V2EX 应届生刚入职,做的是 wms+mes+mes 二次开发,因为没学过.net+c#,现在接口代码全靠 ai 写怎么办 - V2EX [分享创造] 开源轻量级 WinForm 壁纸切换器 Wallpaper Switcher (C# / .NET 9) - V2EX csharp 这回真成了脚本语言: dotnet run app.cs - V2EX 小弟写了一个 ETLBox 写入数据到 ClickHouse 的组件, 需要用到的兄弟们可以看看 - V2EX C#.net9wpf 项目这份.gitignore 规则可行吗?还有什么可以添加的吗? - V2EX 有人试过从 WCF 迁移到 ASP.NET Core Web API 吗? - V2EX 项目从.NET5.0 升级到 8.0,加起来 1.5 万行代码, Linux 下编译经常要半个小时,有的时候又几秒钟就能编译完, Windows 下一直非常正常,怎么排查? - V2EX 分享一个使用 C#封装的 gRPC 组件 - V2EX C# .NET 现在相对成熟的跨平台 UI 框架是否还是只有 Avalonia? MAUI 怎么样了 - V2EX ASP .NET Core + EF Core + MySQL 这个统计查询在 3 亿条记录的表下每次查询都需要 2~4 分钟,优化的办法只有用触发器或是后台每小时定期统计吗? - V2EX Avalonia UI 更新到 11 以后启动慢有办法优化吗? - V2EX EF Core 这类较重的 ORM 框架适合塞进客户端吗?如果是用于本地 SQLite 数据库,有没有更好的选择? - V2EX Windows 普通用户,可否禁用系统自带.net 3.5/4.8,仅安装最新.net 8/9? - V2EX 同一程序内的消息队列,这样用单例的简易实现比 redis 的 Pub-Sub 效率高吗?如果不实现 Unsubscribe,有内存泄漏风险吗? - V2EX Avalonia 11 后要从 ItemsControl 调用母 UserControl 的命令这种常见操作就必须每次都写这么长一坨东西吗? - V2EX .NET build 到 wasm 后怎么看错误代码在哪个 .cs 文件的哪个位置? DevTools 和那个 Debug URL 里都只能看到 e.Message - V2EX macOS 单用户环境 dotnet 装在 ~/.dotnet/ 还是 /usr/local/share/dotnet/ 更好? Rider 默认是前者,官网下载的 .pkg 默认是后者 - V2EX 有没有 .NET 大神帮忙看看困扰了好几个大神一年的内存泄露问题,优化了一年越变越严重,现在一小时崩一次 - V2EX 有用过 SQLSugar 的吗?能说说体验吗? - V2EX .NET 大牛们,这次遇到了一个涉及知识盲区的 BUG,与 Redis 有关 - V2EX 求助大佬们,干了件蠢事,我都不理解我为什么要用 Rider 去装 SDK,导致现在删不掉也找不到了 - V2EX nuget 服务器有问题了,不会也是那个 CrowdStrike 出问题导致的吧 - V2EX 为什么我已经在 Visual Studio 中安装了.Net 8.0,但是命令行显示的版本仍然是 6.0.31? - V2EX 我使用 vscode,如何平稳的将.Net7.0 升级到.Net8.0? - V2EX 我想重构我这个项目的前端,有什么好的建议? - V2EX 接了个小活,选 Windows 窗体应用还是 WPF 应用? - V2EX AlipaySDKNet.OpenAPI 这个包没多少代码,为什么大小是 14.1MB?里面塞了什么? - V2EX EF Core 不引入锁,高并发场景 ExecuteSqlRawAsync("UPDATE Users SET Balance = Balance + {0} WHERE UserId = {1}");后如何获取 Updated 后的值? - V2EX ASP .NET Core 5 内存占用线性增加, 1 小时内 100%把 128G 内存用完,如果运行 dotnet-gcdump 则能立即恢复正常水平,查了很多文档 gcdump 都是不会去触发 GC 的,但多次尝试都成功,求排查思路 - V2EX 为什么很多文章/工具都是针对.NET Core >3.1 而不是 3.0 的?这个个小版本改动非常大吗? - V2EX ASP.NET Core 在 Linux 下部分接口耗时长、并发性能差,除了逐步打印日志,还有什么方便、直观的办法查出是哪一步耗时长吗? - V2EX 时隔半年,我又来吐槽 nuget 了 - V2EX visual studio code for .NET - V2EX .NET 程序员的迷茫 - V2EX vs2022 win10 关机后再开机如何恢复 - V2EX Avalonia 现在还是灵车吗?连官网文档都能出这么多 bug - V2EX MAUI 在 macOS 上有办法实现关闭窗口后不退出吗? - V2EX ClosedXML 有办法简单实现把 HTML 保留所有颜色和图片插入到一个单元格吗? 我想到的办法是用 AngleSharp 解析,但改了好几个版本效果还是很差 - V2EX 求助(附日志)ASP.NET Core 部署在 Ubuntu 22.04 8 核 32G 阿里云下每月固定出现一次服务器失联情况,具体时间随机,失联后系统盘 IO 爆表,重启可解决,应该从哪里开始排查?完全没思路,附日志 - V2EX 求助 C#有办法在自己程序内部实现一个跨线程的简易消息队列吗?现在这种轮询数据库的实现 CPU 占用率很高, 4C8G 阿 里 云占用一直在 100% - V2EX 请教一下 asp.net core 技术问题 - V2EX .NET 8 发布正式版了 - V2EX .net 的库作者是不是都在向 js 看齐? - V2EX .net 刚通电没有触发怎么用软件主动获取红外传感器的信号。 - V2EX 看来 Windows Forms 依然活的好好的 - V2EX
efcore 中, 使用 FromSql 查询时, 如何设置 where in 参数? - V2EX
bthulu · 2024-10-09 · via .NET

这是一个创建于 613 天前的主题,其中的信息可能已经有所发展或是发生改变。

像下面这样, 是查不出来的. 是有什么特殊姿势我不会的吗? google 了半天也没找出来怎么传递集合参数进去.

var ids = new List<string>() { "A001", "B001" };
appDbContext.RackTransfers.FromSql($"select * from RackTransfers where Id IN ({ids})");

第 1 条附言  ·  2024 年 10 月 9 日

下面这样的我是知道的, 但是我这里问的是用 FromSql 时怎么传参. 要知道很多复杂查询, 没法用 Where 表达出来的.
dbContext.Where(e => ids.Contains(e.Id))

corcre

1

corcre      2024 年 10 月 9 日

可能就是不支持的吧 之前上网搜了一下发现没解决方案就放弃了, 现在一般要不就把 ids 给先处理好传进去(处理成('A001','B001')然后字符串拼接)
要不就根据 ids 的长度循环塞进去, 例如..... IN {@id0,@id1,@id2}然后按正常方式传参...
反正都挺麻烦的🐶🐶🐶

jiangzm

2

jiangzm      2024 年 10 月 9 日

EF.Functions.Like 或者 Contains

luojianxhlxt

3

luojianxhlxt      2024 年 10 月 9 日

你这是 sql 语句,得用 string.join 拼接成 where id in('A001','A002')

liuliuliuliu

4

liuliuliuliu      2024 年 10 月 9 日

1.支持
2.不能用 FromSql ,你这不是 linq 了啊
3.这样
appDbContext. RackTransfers.Where(r=> ids.Contains(r.Id));

liuliuliuliu

5

liuliuliuliu      2024 年 10 月 9 日

题外话,不知道你怎么搜索的,怎么会没有相关资料的呢?
谷歌,关键字 entity framework where in ,第一条就是 stackoverflow 上的答案啊

wu00

6

wu00      2024 年 10 月 9 日

appDbContext.RackTransfers.FromSql($"select * from RackTransfers where Id IN ('{string.Join("','", ids)}')");

bthulu

7

bthulu      2024 年 10 月 9 日

@nikenidage1 你这个大家都知道, 但是很多情况下, 没法这样查. 比如取 group by 后组内第一条返回一个集合, 目前 ef core 还不支持这个功能, 官方说至少的 efcore10 才有可能支持.
```
using AppDbContext dbContext = CreateAppDbContext();
var queryable = dbContext.Racks.Where(e => e.Occupied == true).GroupBy(e => e.Aisle)
.Select(g => g.OrderBy(e => e.Col).Take(1));
// 支持
List<IEnumerable<Rack>> list = queryable.ToList();
// 不支持, 可能 efcore10.0 会支持, 参考 https://github.com/dotnet/efcore/issues/28002
List<Rack> racks = queryable.SelectMany(e => e).ToList();
```

Removable

10

Removable      2024 年 10 月 9 日

@Removable #7 可以单独写个静态类去处理字符串/数字类型的拼接,省得每次都要写 string.Join 和 Linq

VxLzKg4uLbi32w60

11

VxLzKg4uLbi32w60      2024 年 10 月 9 日   ❤️ 1

OP 用的什么版本?.NET6 现在是这样,可以用参数化进行传参,可以试试
var ids = new List<string>() { "A001", "B001" };
var parameters = new[]
{
new NhgdbParameter("@Ids ", ids )}
};
appDbContext.RackTransfers.FromSqlRaw($"select * from RackTransfers where Id IN @Ids ",parameters );

bthulu

14

bthulu      2024 年 10 月 9 日

@a194259440 在.net8.0+efcore8.0 中实测下面两种方式都不行, 直接报错 System.NotSupportedException
方式一:
int[] ids = [1, 2, 3];
List<MySqlParameter> parameters = ids.Select(e => new MySqlParameter("@Ids", e)).ToList();
List<Rack> racks = dbContext.Racks.FromSqlRaw("select * from rack where id in (@Ids)", parameters).ToList();
方式二:
int[] ids = [1, 2, 3];
MySqlParameter parameters = new MySqlParameter("@Ids", ids);
List<Rack> racks = dbContext.Racks.FromSqlRaw("select * from rack where id in (@Ids)", parameters).ToList();

bthulu

15

bthulu      2024 年 10 月 9 日

上面两个示例中, 将 new MySqlParameter("@Ids", ...)改为 new MySqlParameter("Ids", ...), 也是一样的报错

PopRain

16

PopRain      2024 年 10 月 9 日

in 的参数化查询语句是这样的:where x in (@0,@1,@2..... ) ; 所以,后台需要把 List 转换为一个个的参数,不知道 efcore 是否有这个功能,我们公司是自己实现的

beginor

17

beginor      2024 年 10 月 10 日 via Android

不知道楼主使用的是什么数据库,如果是 pg 的话可以直接用数组参数

beginor

18

beginor      2024 年 10 月 10 日

楼主用的应该是 mysql , 不支持数组类型,无法使用数组参数, 应该只能按照 16 楼的方法拼接 sql 参数了