gpt4 book ai didi

c# - LINQ 计算链接表中的行数

转载 作者:行者123 更新时间:2023-11-30 14:38:55 25 4
gpt4 key购买 nike

我有以下模型

public class Account
{
public int Id { get; set; }
public List<Note> Notes { get; set; }
}

我正在尝试查询我的 nhibernate 存储库以计算特定帐户的笔记数量。

return this.Data.Where(x => x.Id == accountId).Select(x => x.Notes).Count();

但是无论有多少个音符,它总是返回 1。

我正在尝试以最有效的方式执行此操作,而不必获取帐户对象然后计算笔记的数量。

任何人都可以建议以下 SQL 的 Linq 等价物。

SELECT Count(*) FROM NoteToAccount WHERE AccountId=?

其中 NoteToAccount 是位于 Account 和 Note 表之间的链接表。

最佳答案

您将返回一个 IEnumerable<List<Note>>其中有一个元素是帐户的注释列表。

您可以使用 SelectMany而不是 Select将其扁平化为一个大实体,或者您可以使用:

this.Data.First(x => x.Id == accountId).Notes.Count;

当然,我假设 accountId 是主键,因此您只会取回一项。您也可以使用 Single而不是 First以确保您只取回一件商品。

关于c# - LINQ 计算链接表中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110548/

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