0

如何验证或阻止用户执行操作Product.Ingredients.Add(new Ingredient())?当用户这样做时,会在成分表中添加新成分。我希望它只添加现有的成分。

4

1 回答 1

1

您可以通过覆盖 DBContext 中的保存更改方法来检查这一点。

public class YourDbContext:DBContext
{
//......

   public override int SaveChanges(){

      foreach(var entry in ChangeTracker.Entries<Ingredient>())
      {
         var entity = entry.Entity;
        if (entry.State == EntityState.Added)
        {
           this.Detach(entity );
        }
       }
     base.SaveChanges();
  }

}
于 2012-05-25T03:46:24.457 回答