gpt4 book ai didi

c# - 使用 Linq 在 EF 中编辑用户时无法创建类型的常量值

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

在尝试查看表是否包含一组特定值时出现此错误。下面是抛出错误的地方。有谁知道如何解决这个异常并仍然检查我的表以避免插入重复的行?谢谢你!

var qryDepts = from p in AuthContext.Dept_User_Bridge
where p.UserID == editedUser.UserID
select p;

foreach (var dept in editedUser.DeptIDs)
{
var deptObj = new Dept_User_Bridge { UserID = editedUser.UserID, DeptID = dept };

//exception thrown here
if (!qryDepts.Contains(deptObj))
{
AuthContext.Dept_User_Bridge.Add(new Dept_User_Bridge
{
DeptID = dept,
UserID = editedUser.UserID
});
}
}

最佳答案

一件事是您想使用 ToList() 将数据加载到内存中。

var qryDepts = (from p in AuthContext.Dept_User_Bridge
where p.UserID == editedUser.UserID
select p).ToList();

然后,您可以尝试使用 Any()

if(!qryDepts.Any(x => x.UserID == deptObj.UserID))
{
...
}

关于c# - 使用 Linq 在 EF 中编辑用户时无法创建类型的常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44785573/

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