在ComboBox(实体框架)顶部添加空项的最佳实践

时间:2017-09-02 06:40:08

标签: c# entity-framework combobox

我试图在组合框的顶部放置一个空项目。我用以下代码

做到了
List<tbDesignation> comboList = db.tbDesignations.ToList();
comboList.Insert(0, new tbDesignation() { Id = -1, Name = "(None)" });

此代码完美无缺。但是有一个问题。假设用户没有选择Designation,则默认选择为(None)。一旦用户保存了Staff(要求指定)的记录,Designation的这个空条目也会保存到数据库中。

保存前

Designation表。

Designation table Before Saving

Designation保存后的表格

Designation Table After Saving

Staff保存后的表格

Staff Table After Saving

这是在DataGrid中显示时的样子(很奇怪。它应该是空白的。)

enter image description here

如何停止实体框架以保存指定的空记录? 要么 有没有更好的方法在ComboBox顶部添加空项?

注意:必须允许用户在需要时选择空白项目。

1 个答案:

答案 0 :(得分:0)

当代码保存Staff记录时,如果ID不是-1,请确保仅添加Designation对象。