Как явно включить сопоставленные таблицы с PetaPoco

Я хочу использовать PetaPoco на столе, который имеет около 600 таблиц, но я хочу отобразить только несколько таблиц.

Есть ли способ явно указать таблицы, которые я хочу отображать? Конфиг в шаблоне t4 (tables["tablename"].Ignore = true) не очень подходит для этого подхода?

3 ответа

Решение

В итоге я сделал это так:

Tables tables = LoadTables();

 foreach(Table t in tables)
    {
        if(!t.Name.Contains("all_user_group"))
        {
            t.Ignore = true;   
        }
    }

Я сделал нечто подобное

var tablesToLoad= new string[] {
 "TableOne",
 "TableTwo",
 "ViewOne", 
 "Etc"    }; 

var tables = LoadTables();

foreach(var t in tables)
{
  if(!tablesToLoad.Contains(t.Name))
  {
    t.Ignore = true;
  }
}

Чтобы избежать заполнения шаблона T4 игнорируемыми назначениями, я создал нового пользователя базы данных, который имел доступ только к нужным мне таблицам.

Затем я связал шаблон T4 с пользователем базы данных, и PetaPoco увидел только нужные мне таблицы.

Другие вопросы по тегам