withfield果园1.4.2

时间:2012-05-27 11:43:19

标签: asp.net-mvc model-view-controller orchardcms

我是orchard的新手,正在关注http://skywalkersoftwaredevelopment.net教程。

ContentDefinitionManager.AlterPartDefinition(typeof(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))
            );

 SchemaBuilder.CreateTable("AddressRecord", t => t
            .ContentPartRecord()
            .Column<int>("CustomerId")
            .Column<string>("Type", c => c.WithLength(50))
            );

在这种情况下,withfield真正起作用了什么?为什么没有可创建的东西为addressrecord表创建真正的表字段?

这些“名称”,“addressline1”应该保存在数据库中吗?

感谢您的阅读。

1 个答案:

答案 0 :(得分:3)

它向地址部分添加字段。字段是在Orchard中扩展类型的轻量级方法。它们不会存储在自己的表中,而是作为XML序列化为单个列。这就是为什么它们更容易创建,但更难查询。