У меня есть приложение .NET 4.0 WinForms, и я использую Entity Framework 5 с подходом Model First. В VS EF Designer я создал дюжину или около того сущностей с множеством скалярных свойств типа String
, а затем на панели свойств настроил параметры (например, общие параметры, фасеты Параметры) для них, чтобы соответствовать требованиям БД.
На уровне BL я могу проверить объект объекта, чтобы проверить, содержит ли он правильные значения, например, с помощью метода DbContext.Entry(Of T)(entity).GetValidationResult()
. Но мне нужно разработать также проверку полей ввода слоя графического интерфейса для WinForms. Я хотел бы реализовать динамическую проверку GUI, основанную на значениях метаданных свойств набора сущностей, синхронизировать проверку BL с проверкой GUI и избежать избыточности написанного исходного кода.
Мой вопрос: как я могу получить значения метаданных, в частности значения метаданных фасетов (например, Фиксированная длина, Максимальная длина, Обнуляемый) автоматически сгенерированных сущности во время выполнения?
Насколько я знаю, есть возможность использовать аннотации данных на основе атрибутов свойств в созданном вручную частичном классе. Однако в подходе Model First это решение может также включать проблемы избыточности и проблемы синхронизации с метаданными из панели инструментов и базы данных VS EF Designer Properties.