Сериализация XML и обнуляемые атрибуты - PullRequest
2 голосов
/ 10 июля 2019

Я работаю над проектом, который должен получить XML-файл таблицы в нашей базе данных.Поскольку я работаю над ядром asp.net на сервере, мне нужно выполнить запрос к базе данных и сериализовать в xml и вернуть ответ.В соответствии с моим кодом ниже я получил следующие ошибки:

[HttpGet, Route("GetXml")]
        public ActionResult<GenericResponse> GenerateXml()
        {
            var cellData = _repoWrapper.Purchase.FindByCondition(a => a.IsDeleted == false);
            //since servicestack we used in text also have xml serializer so it is necessary to use system.xml .serializer method 
            System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(cellData.GetType());

            String s= x.ToString();
            return _response;
        }

Для этого кода я получил ошибку вроде: System.InvalidOperationException: «Чтобы быть сериализуемым в XML, типы, которые наследуются от IEnumerable, должны иметь реализацию Add (System.Object) на всех уровнях иерархии наследования.Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable '

И снова, делая это:

[HttpGet, Route("GetXml")]
        public ActionResult<GenericResponse> GenerateXml()
        {
            var cellData = _repoWrapper.Purchase.FindByCondition(a => a.IsDeleted == false).ToList();
            //since servicestack we used in text also have xml serializer so it is necessary to use system.xml .serializer method 
            System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(cellData.GetType());

            String s= x.ToString();
            return _response;
        }

Я получил сообщение об ошибке: System.InvalidOperationException: «Произошла ошибка, отражающая тип« System.Collections.Generic.List 'и: InvalidOperationException: Невозможно сериализовать элемент' Total 'типа System.Nullable'1 [System.Double].XmlAttribute / XmlText нельзя использовать для кодирования сложных типов.

...