Приложение MVC3 - PullRequest
       32

Приложение MVC3

1 голос
/ 15 июля 2011

Я работаю над приложением MVC3. Я создал свои классы POCO через генератор ADO.NET DbContext и Я использую частичные классы для добавления проверки свойств. Теперь, когда я пытаюсь сериализовать одну из моих сущностей, я получаю эту ошибку:

"Невозможно сериализовать элемент .... типа «System.Collections.Generic.ICollection`1 [....."

Я погуглил эту ошибку и обнаружил, что можно добавить тег [XmlIgnore] к определенным свойствам. Но дело в том, что я не могу поставить этот тег на свойства, потому что они созданный каждый раз генератором. Так как же я могу сделать это проще?

1 Ответ

1 голос
/ 15 июля 2011

Ключом является MetadataTypeAttribute. Вы можете добавить это к вашему частичному классу, который реализует дополнительные свойства и вашу логику проверки. Затем создайте класс метаданных со свойством с таким же именем вашего сгенерированного класса и примените необходимый атрибут.

[MetadataType(typeof(MyPOCOMetaData))]
public partial class MyPOCO
{
    // your partial validation code and properties
}

public class MyPOCOMetaData
{
    [XmlIgnore]
    public string GenerateProperyName { get; set; }
}
...