【发布时间】:2011-09-29 18:42:46
【问题描述】:
我正在 .Net 4.0 中构建一个 Windows 应用程序来创建和组织电子项目。该应用程序的主要目的是记录电子元件的供应商信息(零件编号、描述、价格等)并将它们组织(关联)到项目(成品)中。其中一项要求是跟踪任何给定供应商项目(主要是价格)的更改以及项目级别的更改,以便在组件级别和项目级别的更改详细信息提供时间点统计信息。
考虑到客户端部署的简单性,我决定将 Entity Framework 4 用于我的数据访问层,并将 SQL CE 3.5 用于数据库。数据访问效果很好,但是在尝试创建对象之间的关系(关联)时,框架似乎没有任何明显的方式来使用历史数据。这是我第一次尝试使用实体框架,所以我认为可能只是我的经验不足让我无法找到答案。这是我的基本架构:
我有 3 个主表:Project、Product 和 ProjectProduct
Project 和 Product 表各有一个 ID 列和一个 DateAdded 列,用作复杂键。 ProjectProducts 表具有其他两个表的 ID,并维护实体之间的多对多关系。关系表还有一个 DateAdded 列,用于跟踪产品/项目关联的变化。
虽然实体框架在使用标准代码生成的数据对象维护直接(无日期标准)的关联方面似乎工作得很好,但在如何让它加载关联以获取一个点时有点令人困惑-时间历史数据模式。本质上,我需要能够根据时间点要求的日期标准加载数据对象(参数化加载)。
有没有人做过类似的事情并且可以指出正确的方向?
很抱歉解释太长,但提前感谢您提供的任何帮助!
【问题讨论】:
标签: .net entity-framework entity-framework-4 entity-relationship