August 18, 2014

Cannot serialize interface System.Collections.Generic.IEnumerable Error



public Table1()
        {
            this.Table2s = new HashSet<Table2>();
        }   

        public virtual ICollection<Table2> Table2s { get; set; }

When I try to get all the data from Table1 by using LINQ, I got this following Issue when trying to run my web service.

Cannot serialize interface System.Collections.Generic.IEnumerable`1[[TestApp1.Table1, TestApp1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].

After spending lot of time on this, finally figured out the solution from stackoverflow link: http://stackoverflow.com/questions/3630052/xml-serialization-problem-in-c-sharp-asp-net

All public properties defined in the code are visible to the xml serializer, and it will always serialize them.

We have to make sure to put [XmlIgnore] attributes on the properties that should NOT be serialized. So the final code looks like this:

public Table1()
        {
            this.Table2s = new HashSet<Table2>();
        }   

[XmlIgnore]

        public virtual ICollection<Table2> Table2s { get; set; }


No comments:

Post a Comment