问题描述
嗨,我是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'。重复的键值为()。)
解决方法
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();
}
找到了答案