Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 使用EF实体模型自动创建视图模型时出现序列化异常_Entity Framework_Catel - Fatal编程技术网

Entity framework 使用EF实体模型自动创建视图模型时出现序列化异常

Entity framework 使用EF实体模型自动创建视图模型时出现序列化异常,entity-framework,catel,Entity Framework,Catel,当Catel尝试自动创建属于视图的ViewModel类的实例时,我收到一个SerializationException,抱怨System.Data.Entity.DynamicProxies不是预期的。 该模型是从ModelBase继承的EF 6.1实体,我使用的是Catel 3.9。 如何防止这种情况发生?注意:这一切都适用于Catel 4.0最新的预发布版本,因为这是稳定的,并且有很多改进 Catel序列化模型以实现IEditableObject。当使用Model属性时,它会尝试序列化成员。

当Catel尝试自动创建属于视图的ViewModel类的实例时,我收到一个SerializationException,抱怨System.Data.Entity.DynamicProxies不是预期的。 该模型是从ModelBase继承的EF 6.1实体,我使用的是Catel 3.9。 如何防止这种情况发生?

注意:这一切都适用于Catel 4.0最新的预发布版本,因为这是稳定的,并且有很多改进

Catel序列化模型以实现IEditableObject。当使用Model属性时,它会尝试序列化成员。您有两种选择:

使用[modelsupporteditableobject=false]但您将 失去自动取消功能 用[ExcludeFromSerialization]或 使用自定义序列化程序修改器
非常感谢您的快速回复。我很快测试了备选方案1,到目前为止,它似乎运行良好。但是,使用自动取消功能意味着什么?自动取消意味着:如果使用模型属性,它将存储当前值。如果调用CancelViewModel,将使用IEditableObject自动还原模型上的更改。