【发布时间】:2014-12-12 14:06:13
【问题描述】:
如何最好地将 Entity Framework 对象序列化为字节数组(以便可以将其缓存在 redis 中)?
序列化通常需要将属性添加到属性中,但是因为这个项目首先是 DB,所以由于代码生成,我无法添加属性(而且我不确定在没有 .NET 的情况下如何说我想要序列化由于遍历嵌套集合而试图序列化整个数据库)。
希望实现的目标是:
Product product;
using(var context = new MyContext())
{
product = new ProductRepository(context).GetItem(123456);
}
byte[] productSerialized = Serialize(product);
repo 加载的任何内容都将被序列化,而未加载的内容将被忽略。如果我能接近这个,那就太好了。
【问题讨论】:
-
您的课程将生成为
partial以解决此类问题。只需在另一个文件中添加属性即可。 -
另一种选择是不序列化 EF 对象,但具有易于来回转换的 DTO 对象 - entitiestodtos.codeplex.com
-
@BenRobinson 我不知道 partials 可以做到这一点。不过,嵌套集合的数量可能仍然是个问题。
标签: c# entity-framework serialization