gpt4 book ai didi

c# - Entity Framework - 检查 foreach/更新查询

转载 作者:行者123 更新时间:2023-11-30 21:53:47 25 4
gpt4 key购买 nike

我有以下查询:

db.Context.SomeTable
.Where(x => x.abc == someAbc && x.zyx == someZyx)
.ForEach(y =>
{
y.AuditId = newAuditId;
y.TimeStamp = newTimestamp;
});

我想从 ForEach 语句中获取实际的 SQL 查询。

如果我只执行以下操作:

var selectQuery = db.Context.SomeTable
.Where(x => x.abc == someAbc && x.zyx == someZyx);

我可以从 selectQuery 变量中获取以下查询:

SELECT 
[Extent1].[abc] AS [abc],
[Extent1].[zyx] AS [zyx]
--skipping some [Extent1]. statements for simplicity here
FROM
[dbo].[SomeTable] AS [Extent1]
WHERE
([Extent1].[abc] = @p__linq__0) AND ([Extent1].[zyx] = @p__linq__1)

然后我可以在 Visual Studio 之外运行,分析它的性能等。

如何为 ForEach 语句执行此操作?

最佳答案

ForEach 执行并从您的服务器获取数据。 ForEach 没有被翻译成 SQL。它只是执行您刚刚编写的 Linq To Entities :

var selectQuery = db.Context.SomeTable
.Where(x => x.abc == someAbc && x.zyx == someZyx);

它生成您在问题中写的 SQL。

关于c# - Entity Framework - 检查 foreach/更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33654857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com