如何对实现接口的实体执行创建/保存/删除操作?

时间:2013-07-01 09:49:28

标签: c# asp.net-mvc entity-framework

我有几个实体有一个索引字段,我用它来指定显示记录的顺序。这个字段是一个整数,它必须从1到n,没有任何"空洞&#34 ; (不能有1,2,4,5)。为了维护索引字段,我需要执行以下操作:

  • 添加时,应设置索引字段,以便将新记录放在最后
  • 编辑上,如果索引已更改,则需要更新已编辑记录的旧索引和新索引之间的记录
  • 删除上,索引高于被删除记录的记录需要更新

所以,我想知道的是,我可以用更通用的方式对每个类别进行一次定义,而不是为每个类别定义这种行为吗?#34; sortable" IE浏览器。为实现接口的实体ISortable执行这些操作?

这个逻辑应该放在哪里?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您在POCO旁边存在的部分类中实现接口(或从抽象基类继承),并将继承自Context的{​​{1}}类或作为Decorator的更新集中到DbContext。您需要实现自己的抽象(例如DbContext),因为IUnitOfWork没有实现任何有用的接口。

这是一个在DbContext

中实现的简单示例
Context