Резервное копирование представлений для нескольких баз данных легко, просто используя information_schema:
mysql --skip-column-names --batch -e 'select CONCAT("DROP TABLE IF EXISTS ", TABLE_SCHEMA, ".", TABLE_NAME, "; CREATE OR REPLACE VIEW ", TABLE_SCHEMA, ".", TABLE_NAME, " AS ", VIEW_DEFINITION, "; ") table_name from information_schema.views'
Конструктор SelectList принимает IEnumerable, поэтому все, что вам нужно сделать, это передать LINQ-запрос конструктору, как это
var query = from c in customers
select c;
var customerList = new SelectList(query, "CustomerId", "CustomerName");
Вы должны сделать это в Контроллере и иметь SelectList в вашей ViewModel.
Вы хотите использовать ключевое слово select
в запросе LINQ:
var foo = new SelectList(from x in FooRepository.Items
select new SelectListItem { Text = x.Name, Value = x.Id });