Ну, я нашел место для настройки этого, хотя я все еще не нашел способ переопределить или расширить запрос linq для загрузки данных:
В файле \ DynamicData \ FieldTemplates \ ForeignKey_Edit.ascx.cs (согласно расположению по умолчанию) в методе Page_Load выполняется следующий вызов:
PopulateListControl(DropDownList1);
Это может быть полностью заменено вашим собственным кодом.
В моем случае я сначала проверил, реализует ли текущая таблица пользовательский интерфейс, который я определил.
Если это так, используйте его, чтобы получить данные для привязки к раскрывающемуся списку, иначе передайте управление в PopulateListControl.
При использовании Reflector создается впечатление, что PopulateListControl в конечном итоге использует MetaTable.GetQuery () для получения списка по умолчанию для таблицы.
Было бы неплохо доказать это вместо этого ... но теперь перейдем к другим вещам!