Ошибка сохранения ViewState в Entity Framework - PullRequest
0 голосов
/ 25 августа 2011

Я работаю в .NET Entity Framework 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]].'

1 Ответ

1 голос
/ 25 января 2015

Может быть, это кому-нибудь поможет. Я сам хотел сериализовать сущность в 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
    }
}

Надеюсь, это может кому-нибудь помочь, так как это старый пост: (.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...