В настоящее время я храню данные своего приложения с использованием простого двоичного форматирования. Я хотел бы перейти от двоичного форматировщика для реализации SQL, по следующим причинам:Entity Framework: DataTable как XML-строка
- Включить одновременное использование приложения на общий источнике данных
- отходя от формата «собственного», который может (даже другие сборки)
Я внедряю код Entity Framework, чтобы сначала создать мою базу данных. Мой вопрос вращается вокруг хранения полей DataTable. У меня есть следующий объект:
public class Person
{
public string Name {get;set;}
public DataTable TableOfInformation {get;set;}
}
Сохранение строки «Имя» в колонке достаточно просто. Чтобы сохранить DataTable, я попытался преобразовать список списка данных. В настоящее время я склоняюсь к простому использованию сериализации XML и сохранению DataTable в качестве столбца строки.
Это лучший способ сохранить поле DataTable, и есть ли проблемы с этим подходом?
DataTable действительно не предназначен для использования с EF. Просто десериализуйте свои данные в объект POCO, который будет намного легче работать с Code First. – CodeNotFound
Вы должны сделать этот шаг дальше, а также сохранить DataTable в качестве таблицы базы данных. –
Вы можете преобразовать DataTable в XML с помощью метода [DataTable.WriteXml] (https://msdn.microsoft.com/en-us/library/system.data.datatable.writexml%28v=vs.110%29.aspx). Однако это, во всяком случае, неправильный подход. –