Я работаю над помощником по импорту (C# .NET 4) между двумя базами данных MS Access и мне нужно реализовать механизм для обеспечения согласованности данных.обобщающие проверки соответствия при импорте данных
Пример:
Импорт лица.
Проблема:
столбцы из таблиц лица имеют разные размеры столбцов.
Таблица источников: размер столбца = 50;
Таблица назначения: Адресная колонка размером = 30;
При попытке импортировать человека с адресом более 30 символов возникает проблема.
Желаемое решение:
Когда предыдущая проблема появляется диалоговое окно должно быть показано, где пользователь может переопределить или усечь значение, чтобы соответствовать длине требуется.
функция импорт выглядит как этого
private static void ImportPerson()
{
var sourcePerson = sourcePerson.GetObject();
if (sourcePerson == null)
return;
var person = new MyPerson();
person.Address.Value = sourcePerson.Address;
person.Company.Value = sourcePerson.Company;
person.Save();
}
У меня есть сведения о метаданных, хранящихся в моих объектах ведьмы позволяет мне получить доступ размера столбца из моих столбцов назначения.
person.Address.ColumnSize
Поэтому я могу сделать что-то подобное после заполнения бизнес-объектов новыми значениями.
if (person.Address.ColumnSize.CompareTo(person.Address.Value.Length)) < 0
// show dialog ...
К сожалению, это означает проверку всех свойств (Адрес, Компания ... и других) отдельно.
Я ищу более общий подход, когда мне не нужно проверять каждую собственность отдельно.
Любые идеи, предложения, мысли будут высоко оценены.
Это интересно. Я дам ему попробовать. Однако я не уверен, что покажу диалог с моего бизнес-объекта. – thedev
Что я предлагаю, не имеет никакого отношения к тому, где вы показываете свое диалоговое окно, это просто еще один способ получить доступ к свойствам вашего класса MyPerson. Второй бит кода будет точно таким же, как и текущая настройка. –
вы правы ... я попробую это;) спасибо – thedev