в конфигурации есть способ установить таблицы, которые мы хотим исключить, но мне нужно установить имя таблицы, которую я хочу включить, за исключением всего остального.Настройка SubSonic 3 IncludeTables
Кто-нибудь уже это сделал?
Cheers! Alex
в конфигурации есть способ установить таблицы, которые мы хотим исключить, но мне нужно установить имя таблицы, которую я хочу включить, за исключением всего остального.Настройка SubSonic 3 IncludeTables
Кто-нибудь уже это сделал?
Cheers! Alex
Хорошо, я сделал это ...
Просто добавил следующую строку в нескольких местах на Tt файлов: если (ExcludeTables.Contains (tbl.Name)!) {if ((IncludeTables.Length! = 0 & &! IncludeTables.Contains (tbl.Name))) продолжить;
немного другая линия по отношениям по ActiveRecord.tt если (! ExcludeTables.Contains (fk.OtherTable)) { если ((IncludeTables.Length! = 0 & &! IncludeTables.Contains (Ф.К. .OtherTable))) continue;
и добавил следующее на settings.ttinclude Строка [] IncludeTables = новая строка [] { "TableA", "TableB"};
Это легко реализовать, но будущее SubSonic-обновление сотрет мою настройку. Может ли это быть добавлено в проект?
Спасибо! Alex
Существует еще один «взлом», в котором вам нужно только изменить Settings.ttinclude; просто заменить строку [] ExcludeTables ... с:
public interface ITableExcluder
{
bool Contains(string table);
bool ShouldExclude(string table);
bool ShouldInclude(string table);
}
/// <summary>
/// Custom class to exclude tables via a programmatic means.
/// </summary>
public class TableExcluder : ITableExcluder
{
public bool Contains(string tableName)
{
if (ShouldExclude(tableName))
return true;
return !ShouldInclude(tableName);
}
public bool ShouldExclude(string tableName)
{
switch (tableName)
{
case "sysdiagrams":
case "BuildVersion":
return true;
}
if (tableName.StartsWith("blog_"))
return true;
return false;
}
public bool ShouldInclude(string tableName)
{
return true;
}
}
//This replaces the string array
ITableExcluder ExcludeTables = new TableExcluder();
немного рубить, но, по крайней мере, это позволяет избежать замена деталей других файлов!
Выглядит неплохо! Я попробую! На самом деле моя реализация требует изменения кода во всех файлах, которые будут проблемой для обновлений SubSonic. – AlexCode