Я работал над созданием модуля для Orchard;на основе учебника по NN .После начала работы над проектом я изменил пространство имен, различные классы и имена переменных, поскольку сделал различные предположения об именах, которые не выпали.
После этого упражнения по переименованию Модуль («Список определений»)) дважды отображается на панели инструментов:
Вот мой module.txt:
Name: Definition List
AntiForgery: enabled
Author: Richard Slater
Website: http://www.richard-slater.co.uk/
Version: 0.2
OrchardVersion: 1.1
Description: Module Part to provision a selectable list of definitions as check boxes
Features:
Definition List:
Description: Adds Definition List Part
Category: Content
Я не могу вспомнить нигде в проектеэто указало бы на другую категорию.
Migrations.cs:
public class Migrations : DataMigrationImpl {
private readonly IRepository<DefinitionRecord> _definitionListRepository;
private readonly IEnumerable<DefinitionRecord> _sampleRecords = new List<DefinitionRecord> {
new DefinitionRecord { Term = "Term A", Definition = "This is the definition for Term A" },
new DefinitionRecord { Term = "Term B", Definition = "This is the definition for Term B" },
new DefinitionRecord { Term = "Term C", Definition = "This is the definition for Term C" }
};
public Migrations(IRepository<DefinitionRecord> definitionListRepository) {
_definitionListRepository = definitionListRepository;
}
public int Create()
{
SchemaBuilder.CreateTable("DefinitionListPartRecord",
table => table
.ContentPartRecord()
);
SchemaBuilder.CreateTable("DefinitionRecord",
table => table
.Column<int>("Id", column => column.PrimaryKey().Identity())
.Column<string>("Term")
.Column<string>("Definition")
);
SchemaBuilder.CreateTable("ContentDefinitionRecord",
table => table
.Column<int>("Id", column => column.PrimaryKey().Identity())
.Column<int>("DefinitionListPartRecord_Id")
.Column<int>("DefinitionRecord_Id")
);
ContentDefinitionManager.AlterPartDefinition(
"DefinitionListPart",
builder => builder.Attachable());
if (_definitionListRepository == null)
throw new InvalidOperationException("Cannot find the Definition List Repository");
foreach (var entity in _sampleRecords) {
_definitionListRepository.Create(entity);
}
return 1;
}
}