Может быть, это кому-нибудь поможет. Я сам хотел сериализовать сущность в 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; }
}
}
Когда я создаю новый файл класса с тем же именем класса и пространством имен, я могу сделать Entity Serializable:).
using System;
namespace OAuthServerBroker.EF
{
[Serializable]
public partial class ResourceOwner
{
public EntityState State { get; set; } //can even put into new properties
}
}
Надеюсь, это может кому-нибудь помочь, так как это старый пост: (.