gpt4 book ai didi

entity-framework - 在FromSql Entity Framework Core方法中使用Inner Join

转载 作者:行者123 更新时间:2023-12-04 08:33:25 25 4
gpt4 key购买 nike

Entity Framework 核心的 Inner Join 方法中可以使用 FromSql 吗?

我用过,但出现此错误:

SqlException: The column 'Id' was specified multiple times for 'c'.



这是我的代码:
return DbContext.Contacts
.FromSql<Contact>("Select * From Contacts Inner Join Phones on Phones.ContactId = Contacts.Id Where Contacts.Id <= 2 And Phones.PhoneNumber='01234567890'")
.Include(o => o.RegisteredByUser)
.AsNoTracking()
.ToListAsync();

最佳答案

您的 Id 列出现在 PhonesContacts 两个表中。与其放置 * ,不如选择查询中所需的字段,如下所示。

请注意,您需要指定您想要的 ID,如果您同时想要,在这种情况下,您可以使用如下所示的别名。
Select Phones.Id as PhoneId, Contacts.Id as ContactsId , ....

您的最终查询应类似于以下查询。

Select Contacts.Id, ... From Contacts Inner Join Phones on Phones.ContactId = Contacts.Id Where Contacts.Id <= 2 And Phones.PhoneNumber='01234567890

关于entity-framework - 在FromSql Entity Framework Core方法中使用Inner Join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50313444/

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