【发布时间】:2014-11-27 08:38:57
【问题描述】:
我是实体框架的新手。我有多个具有“排序顺序”列的表。此列声明了行在呈现时应该出现的顺序。
每当通过我的应用程序发生插入时,我希望 DBcontext“检测”存在排序顺序列,并让它自动填充/覆盖这个特定表中的 MAX(排序顺序) + 1 的值。
实现这一目标的最佳方法是什么?我已经尝试过使用数据库触发器,但显然这不适用于 EF。
除此之外,我只能想到一些令人讨厌的反思,或者在我在应用程序中执行的每个插入操作中编写此逻辑(或每个表格至少一次)。
谢谢,
【问题讨论】:
-
我不认为你想要的很容易或默认情况下由 EF 支持。我会执行以下操作: SortOrder 列的默认值为 9999 或其他值。每个插入都将具有此值。如果自动递增,排序将由两列 SortOrder 和 Id 完成。如果没有,那么我将添加 DateCreated,并将按 SortOrder 和 DateCreated 排序。
标签: c# entity-framework