我有以下结构:
User has many books in his history
被翻译成以下
class User { ICollection<Book> History } // C#
User -> UserHistory (UserId, BookId) -> Book // DB
现在我想在历史记录中添加一个日期,创建以下类结构:
class User { ICollection<Read> History }
class Read { Book Book, Date At }
并保持数据库模式几乎不变
User -> UserHistory (UserId, BookId, At) -> Book
我想映射Read
到UserHistory
,问题是:
- 我应该
id
在映射中使用Read
什么?UserHistory
主键是(UserId, BookId)
. 我需要一个id
NH 才能工作吗? UserHistory -> Book
似乎是一个案例one-to-one
。在这种情况下如何指定BookId
列名UserHistory
?我没有看到列属性one-to-one
(我有理由明确列名)。