.net - EF5: How to alter the default Delete function to implement my own -
well, here situation:
we have tables dont want ever delete data. there column called isdeleted supposed updated instead instead of deleting it.
i want develop accompanying web app ef5 have problem there. how implement restriction?
i use stored procedures delete , select hoping way use standard functions in ef, changing how work. way less arduous , options have achieve want, since i´m guessing i´m not first person ask this?
you can override savechanges method of dbcontext. e.g. want forbid deleting products. can save entities isdeleted flag set true instead of deleting them:
public override int savechanges() { var deletedpersonentries = changetracker.entries<person>() .where(e => e.state == entitystate.deleted); foreach (var e in deletedpersonentries) { e.state = entitystate.unchanged; e.entity.isdeleted = true; } return base.savechanges(); }
another option - raise exception if tries delete product:
if (deltedproductentries.any()) throw new exception("you should not delete products!");
you can set entities state unchanged, don't think solution.
Comments
Post a Comment