我使用EF 3.5并拥有一个带有类别表的数据库。我创建了一个部分类来扩展EF创建的类。我将CategoryId作为数据库中的一个键,并在模型中设置为Identity。这是我的部分课程:
public partial class Category
{
public Category(string name, bool isChild)
{
this.CatName = name;
this.IsChild = isChild;
}
public bool Save()
{
try
{
using (var context = new PhonebookEntities())
{
context.AddToCategories(this);
context.SaveChanges();
}
return true;
}
catch (System.Exception)
{
return false;
}
}
}
但是当我尝试创建一个新的Category对象并保存它时:..:
var category = new Category("Test", false);
category.Save();
我得到此异常:“违反UNIQUE KEY约束'IX_Category'。无法在对象'dbo.Category'中插入重复键。\ r \ n语句已终止。” 我应该提到一个类别有一个引用它自己,因为它可以通过一个nullable int有一个父类,它指向父类别的categoryid。
答案 0 :(得分:0)
IX_Category的内容是什么?如果不需要,请将其删除。在您的数据库中是否有另一个类别“Test”作为其CatName? IX_Category是CatName字段的唯一键约束吗?