gpt4 book ai didi

c# - 在 Entity Framework 中测试预先存在的记录的最佳方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 21:43:03 27 4
gpt4 key购买 nike

我的 MVC 项目使用 Entity Framework 来处理与数据库的通信。

Web 应用程序需要能够在调用 SaveChanges 方法之前验证用户通过 Web 表单提供的值是否存在于数据库中。数据库表上的索引可防止重复值。我不想依赖 SQL 异常来发现新值有问题。

我所做的是使用 Linq 语句检索任何具有 ContactKey 属性和提交值的记录。然后我使用实体的 Count 属性。如果它返回 0,那么我假设新值是唯一的。这是代码片段:

// newKey is the value provided by user
var existing = from c in db.Contacts where c.ContactKey == newKey select c;
if (existing.Count()==0)
{
isUnique = true;
}

虽然这似乎按预期工作,但我是 Linq 的新手,不确定这是否是最好的方法。

如果有任何确认或改进建议,我将不胜感激。

朗廷酒店

最佳答案

使用Enumerable.Any

bool ifExist = db.Contacts.Any(r=> r.ContactKey == newKey);

关于c# - 在 Entity Framework 中测试预先存在的记录的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18385016/

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