2015-04-03 47 views
2

我試圖在Orchard中創建一個內容部分,該部分將執行對Web服務器的請求並顯示請求的結果。我遇到的問題是我的零件不需要用戶輸入,因此我已將零件和零件記錄類留空。我有一個Migrations.cs文件,它爲零件添加了一個描述,並使其可附着,並創建一個附着了零件的內容項。當我去創建我的內容類型的新實例時,它會嘗試寫入數據庫並失敗。如何在不嘗試保存到數據庫的果園中創建內容部分?謝謝。不將信息存儲在數據庫中的果園內容部分

我收到實際的錯誤是:在Orchard.ContentManagement.Records.ContentTypeRecord

回答

4

我敢肯定你不需要創建新表,因爲有許多零件在Orchard中沒有任何部分。嘗試刪除MyCustomPartRecord.cs,改變MyCustomPart.cs

public class MyCustomPart : ContentPart<MyCustomPartRecord> 

public class MyCustomPart : ContentPart 

然後,只需添加驅動器和視圖,你應該是沒有額外的表...在理論上是不錯: D

+0

太棒了,我會在星期一嘗試一下。謝謝! – EmeraldArcher 2015-04-05 06:21:20

+0

完美無瑕!感謝你們對我的幫助。 – EmeraldArcher 2015-04-06 15:38:16

+0

這是否適用於您在UI中創建的零件。也就是說,如果我允許字段保存到Infoset中,但我需要處理隱藏部分或創建替代項,我還可以這樣做,以便系統拾取零件,以便我可以實際上隱藏零件或創建替代項?見http://stackoverflow.com/questions/29423023/trying-to-hide-content-parts-on-content-type – REMESQ 2015-04-08 13:55:06

0

回答我的問題 id爲null,甚至當你的部分數據庫ins't實際保存任何東西,你仍然需要包括該零件的表格可以存儲該ID。我只是將以下內容添加到我的Migrations.cs文件中並解決了問題。

SchemaBuilder.CreateTable("MyCustomPartRecord", 
    table => table 
     .ContentPartRecord() 
); 
+2

請參閱@ xeevis的答案 - 如果您沒有將任何內容存儲到數據庫中,則不需要*** Record **類,並且您的部分應該繼承自** ContentPart **。 – kaveman 2015-04-04 17:31:04

相關問題