Redis無法儲存ef複雜物件

2021-07-26 02:03:15 字數 1464 閱讀 5355

最近專案需要使用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...