У нас есть приложение с объектами, которые мы хотели бы сохранить сериализованными в базе данных.
В настоящее время мы используем NetDataContractSerializer
, но недавно выяснилось, что из-за информации о типах .Net
оно создаетогромные файлы, что означает медленное применение даже для базовых объектов.
Мы вместо этого рассматриваем возможность переключения на DataContractSerializer
, и я искал хорошее сравнение двух, но не нашел ни одного.
- Какая разница в размерах между объектами, созданными двумя?
- Есть большая разница в производительности?
- Является ли какой-либо из них проблематичным, когда у меня есть объект, который содержит
List<X>
, где X
наследуется несколькими другими объектами, так что список содержит много разных типов во время выполнения?(Мне сказали, что DataContractSerializer
можно присвоить KnownTypes
атрибутов, но это означает, что в коде больше зависимостей. Есть ли способ заставить DataContractSerializer
знать все эти типы в моем решении?)
Спасибо.