按摩盒未显示实体框架核心

时间:2020-09-01 16:10:36

标签: c# database visual-studio entity-framework-core dbcontext

嗨,我是Microsoft实体框架核心的新手,我使用(net核心3.1和Microsoft实体框架核心)创建了一个简单的Windows窗体应用程序,我已经成功创建了一个看起来像这样的表

    using AplicationDbContext DbContext = new AplicationDbContext();
            Wholesaler tabPage = new Wholesaler()
            {
                NameOwner = NameOwner.Text,
                NameCompany = NameCompany.Text,
                Address = Address.Text,
                MobilePhoneNumber1 =  MobilePhoneNumber1.Text,
                MobilePhoneNumber2 =  MobliePhoneNumber2.Text,
                linePhone1 = LinePhone1.Text,
                linePhone2 = LinePhone2.Text,
                Email = Email.Text,
                Fax = Fax.Text
            };
DbContext.Wholesalers.Add(tabPage);
            DbContext.SaveChanges();

问题是NameCompany为PK,我想向用户“ Name Company已经存在”显示按摩框,并防止出现此错误(SqlException:违反PRIMARY KEY约束'PK_Wholesalers'。无法在对象'中插入重复的键dbo.Wholesalers'。重复的键值为()。)

1 个答案:

答案 0 :(得分:0)

using AplicationDbContext DbContext = new AplicationDbContext();
        
            Wholesaler tabPage = new Wholesaler()           
        {
            NameOwner = NameOwner.Text,
            NameCompany = NameCompany.Text,
            Address = Address.Text,
            MobilePhoneNumber1 =  MobilePhoneNumber1.Text,
            MobilePhoneNumber2 =  MobliePhoneNumber2.Text,
            linePhone1 = LinePhone1.Text,
            linePhone2 = LinePhone2.Text,
            Email = Email.Text,
            Fax = Fax.Text
        };
        if (DbContext.Wholesalers.Any(s => s.NameCompany == NameCompany.Text))
        {
            MessageBox.Show($"Wholesaler: {NameCompany.Text} already exist ", "Name Company", MessageBoxButtons.OK, MessageBoxIcon.Information);
            return;
        }
        DbContext.Wholesalers.Add(tabPage);
        DbContext.SaveChanges();
    }

在这里Check if Record Exists in Entity Framework

找到了答案