c# - 你如何检查记录是否存在

标签 c# asp.net linq entity-framework

我有一个可以插入的表单。我想看看记录是否已经存在于数据库中以防止重复。我有点不确定什么时候必须下降。在作为窗体的控件的代码隐藏中或在我调用以执行插入的类中。以下是我认为它所在的类(class)。

public class AddContacts
{
    public int AddContact(string ContactName)
    {
        var myContact = new Solutions.Models.Contact();

        myContact.ContactName = ContactName;

        ItemContext _db = new ItemContext();

        _db.Contacts.Add(myContact);
        _db.SaveChanges();
        return myContact.ContactID;
    }
}

我已经看到它是通过使用 .Any() 的 If 语句完成的,但我无法让它正常工作。我也不明白它需要返回什么才能发布错误消息 Contact Name already exists

最佳答案

您可以像这样使用 Any 方法:

bool contactExists = _db.Contacts.Any(contact => contact.ContactName.Equals(ContactName));

if (contactExists)
{
    return -1;
}
else
{
    _db.Contacts.Add(myContact);
    _db.SaveChanges();
    return myContact.ContactID;
}

调用 AddContact 的方法将检查返回值并决定是否向用户显示错误或确认消息。

关于c# - 你如何检查记录是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13830928/

相关文章:

c# - 将同一类中的方法分开,用于被测试的方法,以允许模拟

c# - 为什么从后面的代码设置键盘焦点需要 Dispatcher.BeginInvoke?

c# - Silverlight 和一个表单应用程序

c# - MVC Linq 查询返回继承实体的 ID,但该实体为 null。我如何.Include() TPH 成员?

c# - ASP.Net Identity 2 使用短信密码登录 - 不使用双因素身份验证

c# - 如何将 Android.Graphics 的 GetPixel 给出的 Int 转换为 Color?

javascript - 不应允许用户使用 JavaScript 输入零作为第一个数字

c# - Aspx 是否支持 PWA

c# - 当前给予排列的所有可能集合

c# - 将谓词作为参数传递给 Where 子句时 EF SQL 发生了变化