gpt4 book ai didi

asp.net-mvc - Attachable 到底在做什么?

转载 作者:行者123 更新时间:2023-12-02 20:34:39 27 4
gpt4 key购买 nike

此代码片段来自Sipke's tutorial (顺便说一句,这太棒了)让我有点困惑。在他的教程中,他说 .Attachable 允许将内容部分添加到内容类型中。但在代码片段中,下面的内容部分被声明为 .Attachable(false) 并且仍然被添加到内容类型中。所以肯定还有一些我没有意识到的其他标准。那么就 Attachable 而言,CustomerPart 和 AddressPart 之间的真正区别是什么?

        ContentDefinitionManager.AlterPartDefinition(typeof(Models.CustomerPart).Name, p => p
.Attachable()
);

ContentDefinitionManager.AlterTypeDefinition("Customer", t => t
.WithPart(typeof(Models.CustomerPart).Name)
.WithPart("UserPart")
);

ContentDefinitionManager.AlterPartDefinition(typeof(Models.AddressPart).Name, p => p
.Attachable(false)
.WithField("Name", f => f.OfType(typeof(TextField).Name))
.WithField("AddressLine1", f => f.OfType(typeof(TextField).Name))
.WithField("AddressLine2", f => f.OfType(typeof(TextField).Name))
.WithField("Zipcode", f => f.OfType(typeof(TextField).Name))
.WithField("City", f => f.OfType(typeof(TextField).Name))
.WithField("Country", f => f.OfType(typeof(TextField).Name))
);

ContentDefinitionManager.AlterTypeDefinition("Address", t => t
.WithPart(typeof(Models.AddressPart).Name)
);

最佳答案

IIRC 内容部分始终可以附加到类型(例如通过 ActivatingFilter<> ,或通过在迁移中指定),但是仅限标记为 Attachable() 的部分当您在管理仪表板中构建内容类型时,将会显示。所以我认为在这种情况下CustomerPart通过仪表板构建时选择内容类型的内容部分时将出现,而 AddressPart不会出现。

编辑:我刚刚准备好完成一些演练,我认为这样做的原因是 AddressPart仅附加到 Address内容项。客户和地址之间存在一对多的关系,能够允许用户附加AddressPart是没有意义的。到其他内容类型,因此 AddressPart对用户隐藏,但仍可附加到迁移中的内容项。

关于asp.net-mvc - Attachable 到底在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9927239/

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