0
假設我有記錄的一般表(我首先使用EF代碼),並且可以有許多不同類型的可用於此表的詳細信息:數據庫字段和asp.net的Json反序列化mvc
class Record{
int Id,
int TypeOfDetails, // int enum Type1, Type2
string Details, //string with json content
string Attribute 1,
string Atribute 2,
...
}
class DetailsType1{
string InternalAtribute1,
....
}
我決定使用Json將Details對象序列化到數據庫字段中。 這允許在不改變數據庫模式的情況下靈活處理不同的細節。
使用一個記錄很容易,我知道類型的詳細信息對象,所以我可以序列化和反序列化。
但如何有效地檢索多個記錄,並能夠在MVC中參考的細節? 讓說我這樣做:
var results = await context.Record.Where(..).ToAsyncList();
我希望能夠做到這一點在我的.cshtml:
@Html.DisplayFor(modelItem => item.Record.Details.InternalAtribute1)
本質上,它會在飛行中做反序列化..
或者,如果在AngularJS中可以這樣做,它也會有所幫助。
讓我知道如果我讓自己清楚我的問題。
目前還不清楚你想達到什麼目的。你能否更詳細地解釋你想在'Details'字段中保存什麼? – 2015-03-25 12:41:05
我想將對象DetailsType1保存爲json。可能還有DetailsType2和DetailsType3,所以我可以根據情況使用它們。 – 2015-03-25 12:59:48
爲了說明我的第一個想法是:1.將Object DetailsExpanded字段添加到[NoMapped]的Record類,以便不去db。然後創建方法,將反序列化到此屬性的細節...不是很優雅也沒有效,因爲我需要在循環中執行此方法.. – 2015-03-25 13:11:25