0

我们正在考虑向我们的一个模型添加一个异常属性,该模型当前首先使用实体​​框架代码进行映射。

有没有办法以某种方式直接映射类型的属性Exception,也许通过使其在数据库中二进制序列化,从而维护类型安全的模型类?

我假设我可以通过在模型中实现两个属性来以某种方式完成这项工作,例如:

public Exception Exception {get; set;}
internal byte[] SerializedException {get; set;}

然后,我会将真正的异常属性标记为Ignore上下文中的模型构建器,并让 EF 使用二进制版本。这显然非常笨拙,因为我需要在 getter/setter 中为真正的异常实现序列化/反序列化,正如我所说,我只是假设它是可能的,但尚未对其进行测试。

我很好奇是否有可能直接使用该类型来实现它。

4

1 回答 1

1

不幸的是,我不相信有任何方法可以用 EF 做你想做的事。正常的解决方案是使用上面提到的内部属性 - 只需在第一次访问时从支持属性中反序列化异常。

这并不漂亮,但是 EF 没有公开用于在 POCO 和数据库之间插入自定义类型转换器的扩展点,所以这是我们能做的最好的事情。

于 2013-09-13T21:17:41.197 回答