嗨,我是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'。重复的键值为()。)
答案 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();
}
找到了答案