У меня много моделей каркасов сущностей. Допустим, общее количество полей во всех моделях EF составляет 500.
У меня есть 2 разных вида MVC. простой вид и полный вид.
* простой вид отображает только около 200 из этих полей. В представлении full будут отображены почти все из них.
Например, это образец одной модели EF:
public class Country
{
[Key]
public int Id { get; set; }
public bool Argentina { get; set; }
public bool Aruba { get; set; }
public bool Bahamas { get; set; }
// and others...
}
Я хочу отметить каждыйиз вышеперечисленных полей с какой-то аннотацией данных или пользовательским атрибутом, чтобы я мог использовать логику кода для фильтрации или определить, какой это тип поля. Например:
[SimpleView]
public bool Argentina {get ;set; }
Чтобы в представлении MVC я мог сделать что-то вроде этого:
@if (IsSimpleView(Model.Argentina))
{
// some logic to display out the input controls
}
У меня есть несколько экранов, которые будут зависеть от этой логики (и, возможно,предстоящие отчеты), и я хочу иметь простое обслуживание. Я предпочитаю не создавать дополнительные поля или таблицы для поддержки этого. Я также предпочитаю не поддерживать это в некоторой бизнес-логике. Таким образом, я надеюсь, что все эти поля (на самом деле их всего около тысячи и разбитые на 50 таблиц) можно легко поддерживать здесь.
Всегда будет только 2 типа полей (простые или полные), и я надеюсь только отметить простые. Некоторые поля также могут изменить тип в будущем.
Я также использую платформу сущностей 6 - сначала код.
Спасибо.