我正在使用堆栈交换库使用 Redis 缓存。
我使用cloudStructure库来使用 Redis Dictionary 和 Redis List。
问题是当我尝试检索值时,如果该模型的一个列表属性为空值,它会将我抛出异常 -
Jil.DeserializationException:为 TestMainClass 构建反序列化程序时出错:需要 System.Collections.Generic.ICollection
1[TestChildClass] ---- Jil.Common.ConstructionException : Expected a parameterless constructor for System.Collections.Generic.ICollection
1[TestChildClass]的无参数构造函数
public class TestMainClass
{
public TestMainClass();
public int Id { get; set; }
public virtual ICollection<TestChildClass> Mydata { get; set; }
public string Title { get; set; }
}
public class TestChildClass
{
public TestChildClass();
public int Id { get; set; }
public string Value { get; set; }
}
用于检索值的 Redis 代码:
RedisDictionary<int, TestMainClass> dictionary =
new RedisDictionary<int, TestMainClass>("localhost", "mylocaldictionary");
var result = await dictionary.Get(121);
如果我无法将 ICollection < T > 转换为 List < T > 怎么办?