gpt4 book ai didi

c# - Ado.Net 实体 : Object doesn't display linked members (foreign keys)

转载 作者:行者123 更新时间:2023-11-30 15:12:45 25 4
gpt4 key购买 nike

我有一个简单的数据库方案:用户、帐户。用户与帐户具有一对多关系。

我已经生成了一个ado.net实体数据模型,我可以创建用户和账户,甚至可以将它们链接在一起。在数据库中正确填写了 account.user_id,所以理论上我应该能够通过实体在 C# 中访问 User.Account.ToList()。

但是,当我尝试访问 User.Account.ToList() 时,我得到的结果为零。

User user = db.User.First(U => U.id == 1);
List<Account> accounts = user.Account.ToList(); ##count = 0...

当我在前面的代码之前添加以下代码时,它突然给我正确的计数 2。

 Account account1 = db.Account.First(A => A.id == 1);
Account account2 = db.Account.First(A => A.id == 2);
User user = db.User.First(U => U.id == 1);
List<Account> accounts = user.Account.ToList(); ##count = 2...??

我在这里错过了什么??

最佳答案

你应该使用 ObjectQuery.Include为此的方法。您的方法也有效,但会导致额外的查询。

在你的例子中你会得到

User user = db.User.Include("Account").First(u => u.id == 1);

你必须弄清楚字符串"Account" 是否正确。通常它应该以诸如 MyEntities 之类的东西为前缀。这取决于您的实体的命名空间,但通过一些试验和错误,您应该能够解决这个问题。

关于c# - Ado.Net 实体 : Object doesn't display linked members (foreign keys),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/747184/

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