我是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”应该保存在数据库中吗?
感谢您的阅读。
答案 0 :(得分:3)
它向地址部分添加字段。字段是在Orchard中扩展类型的轻量级方法。它们不会存储在自己的表中,而是作为XML序列化为单个列。这就是为什么它们更容易创建,但更难查询。