最近專案需要使用redis。
然後我就滿懷激情開始處理資料層了。在原來查詢資料的基礎上,有封裝了乙個redis快取層。
結果在redis儲存ef物件的時候,發現了乙個非常尷尬的問題。
model:
public partial class sys_user
[key]
public int userid
public nullablecompanyid
public string email
[foreignkey("companyid")]
public virtual com_company com_company
public virtual icollectionsys_useraccess
}
然後使用
client.set("test", user);
結果就失敗了。錯誤是:無限死迴圈。
然後我又嘗試了另乙個
model
public partial class com_hscode
public string hc_unit1
public string hc_unit2
}
結果發現,如果不是帶有主外來鍵的複雜實體,那麼儲存是可以成功的
但是儲存前,需要讓json不去序列化主外來鍵關係表(增加[jsonignore] 屬性)。
public partial class sys_user
[key]
public int userid
public nullablecompanyid
public string email
[jsonignore]
[foreignkey("companyid")]
public virtual com_company com_company
[jsonignore]
public virtual icollectionsys_useraccess
}
redis:
eldbentity ef = new eldbentity();
//獲取資料
var q = ef.set().tolist();
//序列化
string s = jsonconvert.serializeobject(q);
//儲存
client.set("test", s);
//redis獲取
var w = client.get("test");
//反序列化
var d = jsonconvert.deserializeobject>(w);
Redis無法儲存ef複雜物件
最近專案需要使用redis。然後我就滿懷激情開始處理資料層了。在原來查詢資料的基礎上,有封裝了乙個redis快取層。結果在redis儲存ef物件的時候,發現了乙個非常尷尬的問題。model public partial class sys user key public int userid pub...
使用ObjectBox儲存複雜物件
使用objectbox可以儲存一些具有複雜關係的資料,比如一對多關係,比如一對多關係和多對多關係.比如我要儲存這樣關係的資料 subjectmanager對movielistsubject是一對多的關係 每乙個subject對rating和image都是一對一的關係 層次由高到低是這樣設計實體的 e...
redis 物件的儲存 JSON
環境 springboot2.0以上版本,1.0版本重寫快取管理器的方式不同 public class employee implements serializableorg.springframework.boot spring boot starter data redis 1.5.10.rel...