我有这个伪模型来说明这个想法
> est("grp")
[1] 0
counts Group1 LL UL V5
counts 315 2.364636e-12 2.002372e-12 2.792441e-12 No warnings
Warning messages:
1: glm.fit: algorithm did not converge
2: glm.fit: algorithm did not converge
3: glm.fit: algorithm did not converge
当您需要在调用BookBook for CreatBookForAuthor后创建的WebApi页面上返回时,哪种方法最好?
你应该在某种程度上接收IsRequired字段,将它作为额外值保存在中间表上,现在,在建立关系之后,这是让用户知道特定布尔值已分配给该用户的最佳方法。具有IsRequired值的作者是真的吗?
应该如何看待BookDto返回以维护RESTFUL方法?请使用相同的场景来说明答案
答案 0 :(得分:0)
数据模型不需要与数据库架构完全匹配。
通常,您需要通过让书籍DTO包含AuthorInfo
(Name
,ID
)而不是整个Author
对象来破坏层次结构,反之亦然,作者DTO应该有BookInfo
个对象(ISBN
,title
,publicationDate
,也许还有一组AuthorInfo
)
即。区分Author
(您对作者了解的所有内容)和AuthorInfo
(引用作者时要包含的信息)。
/// <summary>
/// The information about a book which is included with an Author
/// </summary>
class AuthorBookInfo
{
// to get the full Book object if needed
public string Id;
// Extra information about the relation (join table)
public AuthorRole Role; // Editor, Author, Contributor, etc.
// Now extra information from book to reduce the need to retrieve the book object
public string Title;
public string ISBN;
public DateTime PublicationDate;
}
class Author {
public string Id;
public string Name;
public List<AuthorBookInfo> Books;
public DateTime DateOfBirth;
public string ShortBiography;
}
class AuthorInfo
{
public string Id;
public string Name;
}
class Book {
public string Id; // to get the full Book object if needed
public string Title;
public string ISBN;
public DateTime PublicationDate;
public List<AuthorInfo> Authors;
public PublisherInfo Publisher;
public string PublicationLanguage;
public List<BookInfo> Translations;
}
主要要求是包含Id
,因此可以在单独的调用中检索相关对象的完整详细信息。
次要目标是包含足够的最常用的额外信息,以便大多数时间不需要第二次呼叫。