2011-01-04 6 views
0

で削除しますサブソニックは、私たちがこれを行うことが亜音速2では流暢クエリツール

public static void DeleteTable(SubSonic.TableSchema.Table table) 
{ 
    new Delete().From(table).Execute(); 
} 

はどのように我々はV3で同じことを行うことができますか?私は、データベース内の特定のテーブルをターゲットにするためにジェネリックを使用することについてのドキュメントを見つけることしかできないようです...私は上記のようなパラメータでそれを使用できるようにしたいと思います。

ありがとうございました

答えて

1

私はそれを得ました。これは、トリックを行うようだ:

あなたは(あなたのコメントを読んだ後)この

var repo = new SimpleRepository("ConnectionString"); 
repo.DeleteMany<YourClass>(x => true); 

など何とかSimpleRepository.DeleteManyメソッドを使用し

public static void DeleteTable(DatabaseTable table) 
{ 
    new Delete<object>(table, table.Provider).Execute(); 
} 
+0

私はサブソニックを知らないが、削除は私を間違って殴る。 (テーブル).Execute()を削除していないと確信していますか? – kenny

+0

これは問題です、問題はジェネリックのためにこのメソッドを実装したに過ぎません、ジェネリックを使用することはできません....私は削除をしたいので....一般的な(ホーアイロニー)。データベーステーブルをパラメータとして受け入れるdeleteオーバーロードを使用すると、メソッドはT – Luis

0

その

public static void DeleteTable(DatabaseTable table) 
{ 
    new SubSonic.Query.Delete<object>(table, ProviderFactory.GetProvider()); 
} 

のようなものジェネリック"オブジェクト"型が使用されます。なぜなら、Deleteは、渡された型を必要とします。この型は、テーブルとプロバイダを使用して作成する場合には使用されません。

+0

を無視するように見えます。これは自分のYourClassエンティティに対してのみ使用できるようになりますので、私はパラメータを受け入れることができます。データベーステーブル – Luis