【发布时间】:2014-03-04 06:18:00
【问题描述】:
我使用的是 EF 6 Code-First,每种类型都有一个表,并且我有两个具体的类 Group 和 User。 Group 有一个导航属性Members,其中包含User 的集合。我已经使用 Fluent 语法在 EF 中映射了这种多对多关系:
modelBuilder.Entity<Group>
.HasMany<User>(g => g.Members)
.WithMany(u => u.Groups);
我想知道什么时候一个成员加入了一个组,这样我就可以查询最新的成员。我不确定如何在框架内最好地实现这一点。
我看到以下选项:
- 创建和使用审计表(即
GroupMembershipAudit,包括Group、User、加入/取消加入和DateTime - 在
User和Group之间的自动生成的多对多表中添加一列
在 EF 中是否有任何东西可以促进这种多对多历史信息的存储/将列附加到多对多关系?
【问题讨论】:
标签: entity-framework ef-code-first many-to-many fluent