【发布时间】:2012-03-29 04:57:29
【问题描述】:
我有一个具有状态表的应用程序,请参阅 Database best practices - Status 以获取示例
我希望能够显示状态更改的历史记录。我可以看到两种使用 mvc3 和这样的实体模型来实现它的方法 - http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application
我总是可以在任何需要链接到状态表的对象上拥有一个 StatusID 属性,例如
工作
身份证
名称
状态ID
状态
ID
状态
或者,我可以有一个 StatusHistory 表,并将 StatusID 属性设为一个返回 Status 对象的函数,例如
工作
身份证
名称
状态
ID
状态
状态历史
身份证
作业ID
状态ID
日期
在 Job 模型类 (Job.cs) 上有一个名为 Status 的函数,它通过查询 StatusHistory 表中与 Job 相关的最新状态对象来返回 1 个状态对象。
有没有人做过类似的事情?
【问题讨论】:
-
不得不不同意保留已弃用的数据是“最佳实践”。当然,有时事情需要有状态,但这并不意味着它们应该保存在主数据库中,因为它会变得混乱并且查询会变慢。
-
一个具有高效索引的表我不会认为它很慢或很混乱。我们有 20+00 万行表,可以进行近乎即时的查找。
标签: asp.net asp.net-mvc asp.net-mvc-3 entity-framework