gpt4 book ai didi

c# - 使用相同端点/ Controller 的多个实体类型

转载 作者:太空宇宙 更新时间:2023-11-03 16:10:35 25 4
gpt4 key购买 nike

我在我的应用程序中使用 RavenDB,默认情况下文档的 ID 看起来像这样:

homes/1 

其中 homes 是类 Home 的集合类型名称。如果我创建一个名为 Blog 的新类,我将得到一个如下的 id:

blogs/1 

现在,HomeBlog 都是我的 CMS 中的页面,我想要 homes/1blogs/1 使用 PageController。那么,是否可以使用约束或类似的东西来做到这一点,因为只有继承特定类的类型才由 PageController 端点处理是很重要的?

最佳答案

您有两种不同的选择。

如果是PagesController ,并且用户正在执行诸如创建和编辑页面之类的对象,那么 Home 可能不应该有两个单独的实体类型。和 Blog .应该只有一个 Page类(class)。它可以有一个 PageType属性来区分它们,但它们可能不需要是单独的对象。如果您采用这种方法,您将在 RavenDB 中拥有包含 pages/1 等键的文档。 .

如果有明显不同的字段,那么也许您确实有一个HomeBlog类,但它们都应该继承自 Page类和任何共同的属性应该放在那里。如果您采用这种方法,您仍然会在 RavenDB 中获得带有 homes/1 等键的文档。和 blogs/1 .你可能想看看 this page关于 RavenDB 中的多态性。使用这种方法,您可能仍然需要 PagesController ,或者您可能需要单独的 HomePagesControllerBlogPagesController取决于您的需求。

关于c# - 使用相同端点/ Controller 的多个实体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17615344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com