gpt4 book ai didi

C# 无法创建 Data.Awards 类型的常量值

转载 作者:太空宇宙 更新时间:2023-11-03 12:13:52 25 4
gpt4 key购买 nike

var awards = proxy.Awards.Where(c => c.Sender_Id == Id || c.Receiver_Id == Id).ToList();    
var Comments = (from comment in proxy.AwardsComments join award in awards on comment.AwardId equals award.Id select comment).ToList();

我正在使用上面的代码获取与奖项相关的评论,但出现错误 Unable to create a constant value of type Data.Awards。此上下文仅支持原始类型或枚举类型

最佳答案

我建议您按如下方式重写 LINQ 查询并试一试:

var comments = (from comment in proxy.AwardsComments
join award in proxy.Awards.Where(c => c.Sender_Id == Id
|| c.Receiver_Id == Id)
on comment.AwardId equals award.Id
select comment).ToList();

根据您的设置,我假设您可能会使用 ORM(例如 Entity Framework )。然后,通过要求立即执行 awards 右侧的查询(通过调用 ToList),您可以获取内存中的一些数据。之后,您希望将获取的行与数据库中的某些行进行连接。很可能后者是问题所在,您收到此错误消息的原因是您的查询无法转换为将对您的数据库执行的等效 SQL 查询。

通过使用上述查询,将创建所需的 SQL 语句并从数据库中提取相应的行。

关于C# 无法创建 Data.Awards 类型的常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50668041/

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