我有两个班,想要使用TPT
public class Book {
public int BookId { get;set; }
public string Title { get;set; }
}
public class BookInLibrary : Book {
public int CopyNumber { get; set;}
public bool IsBorrowed { get;set; }
}
问题是如何将两个BookInLibrarys插入同一个图书实体?
像这样:
图书(BookId,标题)
书(1,哈利波特 - 哲学家的石头);
BookInLibrary(BookId,CopyNumber,IsBorrowed)
BookInLibrary(1,1,false)
BookInLibrary(1,2,false)
答案 0 :(得分:1)
这是一个关联而不是继承,你的类模型应该是这样的:
public class Book {
public int BookId { get;set; }
public string Title { get;set; }
}
public class BookInLibrary{
public int Bookid {get;set;}
public Book Book {get;set;}
public int CopyNumber { get; set;}
public bool IsBorrowed { get;set; }
}
最好是将BookinLibrary
重命名为BookInstance
或BookCopy
。更有意义的东西
如果你不为每本借书保持一对一的关系,你可以简单地在CopiesAvailable
课程内放一个Book
属性,并在借书时增加或减少它回。