1

我是果园新手,正在关注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 的真正作用是什么?为什么没有 createtable 的东西来为 addressrecord 表创建真实的表字段?

这些“Name”、“addressline1”应该保存在数据库中的什么位置?

感谢您的阅读。

4

1 回答 1

3

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

于 2012-05-27T19:50:25.407 回答