在实体框架中保存ViewState出错
本文关键字:ViewState 出错 保存 实体 框架 | 更新日期: 2023-09-27 18:06:48
我在。net实体框架4.0工作我使用viewstate来保存一个实体。我也序列化了那个实体。但是当我尝试将数据保存到viewstate时,得到这个错误:
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Error serializing value 'System.Collections.Generic.List`1[Pc.PrecisionCare2.ModelTypes.Medication]' of type 'System.Collections.Generic.List`1[[Pc.PrecisionCare2.ModelTypes.Medication, PrecisionCare2ModelTypes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].'
也许这对任何人都有帮助。我想自己在Viewstate中序列化一个实体,但找不到一个好的解决方案(XMLSerialization, Byte Serializing, DataContract)。我发现我可以"扩展"代码生成的类(它们是局部的)并使其可序列化。
例如这是一个。net代码生成的实体:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace OAuthServerBroker.EF
{
using System;
using System.Collections.Generic;
public partial class ResourceOwner
{
public ResourceOwner()
{
this.Grant = new HashSet<Grant>();
}
public System.Guid ResourceOwner_ID { get; set; }
public string ResourceOwner_Username { get; set; }
public virtual ICollection<Grant> Grant { get; set; }
}
}
当我创建一个具有相同类名和命名空间的新类文件时,我可以使实体可序列化:)。
using System;
namespace OAuthServerBroker.EF
{
[Serializable]
public partial class ResourceOwner
{
public EntityState State { get; set; } //can even put into new properties
}
}
希望这篇文章对大家有所帮助,因为这是一篇老文章。