の設定で除外したいテーブルを設定する方法がありますが、私が必要とするのは、含めるテーブルの名前を設定することです。SubSonic 3 IncludeTablesの設定
既にこれを行った人はいますか?
乾杯! アレックス
の設定で除外したいテーブルを設定する方法がありますが、私が必要とするのは、含めるテーブルの名前を設定することです。SubSonic 3 IncludeTablesの設定
既にこれを行った人はいますか?
乾杯! アレックス
[OK]を、私は...
それをやっただけは、TTファイルのいくつかの場所で次の行を追加しました: (!ExcludeTables.Contains(tbl.Name))場合 {if((IncludeTables.Length!= 0 & &!IncludeTables.Contains(tbl.Name)))continue;
ActiveRecord.tt 下関係にわずかに異なるライン(!ExcludeTables.Contains(fk.OtherTable))なら、{ ((IncludeTables.Length!= 0 & &なら!IncludeTables.Contains(FK .OtherTable))))continue;
と
はsettings.ttincludeに以下を添加 列[] IncludeTables =新しい文字列[] { "にtableA"、 "テーブルB"}。これは実装が簡単ですが、今後のSubSonicアップデートによってカスタマイズが消去されます。 これをプロジェクトに追加できますか?
ありがとうございます! Alex
「設定」を変更するだけの「ハック」があります。
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();
ハックのビットを、しかし、少なくともそれは、他のファイルの交換部品を回避:だけで...文字列[] ExcludeTablesを交換してください!
いいね!私はそれを試してみよう! 実際、私の実装では、すべてのファイルのコードを変更する必要があり、これはSubSonicのアップデートで問題になります。 – AlexCode