我有一個自定義模塊。 Migrations.cs看起來像這樣。創建內容錯誤 - 指定的轉換無效
public int Create()
{
SchemaBuilder.CreateTable("MyModuleRecord", table => table
.ContentPartRecord()
...
);
ContentDefinitionManager.AlterPartDefinition(
typeof(MyModulePart).Name, cfg => cfg.Attachable());
ContentDefinitionManager.AlterTypeDefinition("MyModule",
cfg => cfg
.WithPart("MyModulePart")
.WithPart("CommonPart")
.Creatable()
);
return 1;
}
這是我在控制器中的代碼。
var newcontent = _orchardServices.ContentManager.New<MyModulePart>("MyModule");
...
_orchardServices.ContentManager.Create(newcontent);
我從Orchard.ContentManagement ContentCreateExtensions中的這個New方法中得到無效的轉換錯誤。
public static T New<T>(this IContentManager manager, string contentType) where T : class, IContent {
var contentItem = manager.New(contentType);
if (contentItem == null)
return null;
var part = contentItem.Get<T>();
if (part == null)
throw new InvalidCastException();
return part;
}
任何想法我做錯了什麼?
謝謝。
這是處理程序。
public class MyModuleHandler : ContentHandler
{
public MyModuleHandler(IRepository<MyModuleRecord> repository)
{
Filters.Add(StorageFilter.For(repository));
}
}
您可以發佈您的驅動程序/處理程序代碼? – mdm 2012-04-22 11:08:47
沒有司機。我用Handler代碼更新了這篇文章。 – user471317 2012-04-23 14:47:13