orchard cms学习点滴(二)Migrations类中部分代码含义

例子:


public int Create() {

            // Create the ActionLinkPartRecord table
            SchemaBuilder.CreateTable("ActionLinkPartRecord", table => table
                .ContentPartRecord()
                .Column<string>("ActionName", c => c.WithLength(256))
                .Column<string>("ControllerName", c => c.WithLength(256))
                .Column<string>("AreaName", c => c.WithLength(256))
                .Column<string>("RouteValues", c => c.WithLength(256)));

            // Define the ActionLinkPart
            ContentDefinitionManager.AlterPartDefinition("ActionLinkPart", part => part
                .Attachable(false));

            // Define the ActionLink content type and set it up to turn it into a menu item type
            ContentDefinitionManager.AlterTypeDefinition("ActionLink", type => type
                .WithPart("ActionLinkPart")     // Our custom part that will hold the Action, Controller, Area and RouteValues information
                .WithPart("MenuPart")           // Required so that the Navigation system can attach our custom menu items to a menu
                .WithPart("CommonPart")         // Required, contains common informatin such as the owner and creation date of our type. Many modules depend on this part being present
                .WithPart("IdentityPart")       // To support import / export, our type needs an identity since we won;t be providing one ourselves
                .DisplayedAs("Action Link")     // Specify the name to be displayed to the admin user

                // The value of the Description setting will be shown in the Navigation section where our custom menu item type will appear
                .WithSetting("Description", "Represents a custom link with a text and an action, controller and routevalues.")

                // Required by the Navigation module
                .WithSetting("Stereotype", "MenuItem")

                // We don't want our menu items to be draftable
                .Draftable(false)

                // We don't want the user to be able to create new ActionLink items outside of the context of a menu
                .Creatable(false)
                );

            return 1;
        }

 

 
posted @ 2013-05-14 09:21  飞翔的天空  阅读(318)  评论(0编辑  收藏  举报