【发布时间】:2011-11-24 09:19:27
【问题描述】:
我已经在我的 MVC3 站点上设置了 EF4.2(数据库优先)。我必须实体夹具和夹具期间。固定周期有开始和结束日期。
我需要允许客户在我的 MVC3 站点的单个视图中添加/编辑固定周期。
我有这个工作。我还设法验证了固定周期开始/结束日期的顺序是否正确。我在实现 IValidateObject 的固定周期的部分类中做到了这一点。但是现在我需要验证夹具周期本身不会相互重叠。
我应该如何确保期间不重叠?我应该在哪里检查这个?我打算在 ViewModel 级别进行(这似乎很容易),但这似乎是域级别的问题。它应该在实体、存储库、服务层中吗?
有什么建议吗?
谢谢
【问题讨论】:
-
您想将内存中的固定周期与数据库中的固定周期进行比较吗?或者您是否尝试比较特定灯具的内存中灯具周期?无论哪种方式,您都可以使用 DbContext.ValidateEntity 方法(在 SaveChanges 期间在每个修改/添加的实体上调用),但如何进行取决于您的目标。
-
我将允许他们在一个视图中更新实体(夹具)和子实体(夹具周期)。所以我想更需要检查他们将要尝试更新的内容本身是否有效。我想我还必须担心其他人会同时更新现有的夹具和夹具周期,但我想这是一个单独的问题。我会看看 DbContext.ValidateEntity 谢谢。
标签: asp.net-mvc-3 entity-framework validation repository