LINQ-> SQLクラスをDLLにコンパイルして開発者に提供したい場合は、さまざまなエンティティの部分メソッドにフックできるようにするにはどうすればよいですか(例えば、OnValidate)?コンパイルされたアセンブリに対して部分的なメソッドを実装することはできませんが、この現象(おそらくイベントを含む)をどのように抽出できるかについてのご意見をいただければ幸いです。コンパイル済みのLINQ-> SQLクラスの部分メソッドの作成
0
A
答えて
1
は、あなたのニーズに合わせて、このソリューションをカスタマイズする必要があるかもしれませんが、部分メソッドからイベントを公開する簡単な方法は、そのように行うことができますAction
は多数をサポートします。
1
私が知っている限り、あなたはできません。
コンパイラによって部分クラスが検出された場合、それらを結合して完全なクラスを形成します。私があなたのニーズが満たされているのを見る唯一の方法は、あなたのクラスを継承できるようにすることですが、L2Sでは、これは価値があるよりも難しいことが分かります。
EDIT:イベント用として
、あなたのL2Sクラス数の大きさに応じて、それはすべてあなたに入れて喜んでいるかに依存します。このソリューションは、仕事ができるが、取得するには長い時間がかかります右。 Interfaces
とイベントとカスタムハンドラを組み合わせると、そこにアクセスできます。多数のクラスにアクセスしたい場合は、時間の投資に備えてください。
0
私はあなたが望む任意の時点で公開イベントを公開することによってこれを処理します。 、あなたがまたは別のパラメータに沿って通過する必要がない場合もあり
partial class LinqClass
{
public event Action<LinqClass, ChangeAction> OnValidating;
partial void OnValidate(ChangeAction action)
{
if (OnValidating != null)
{
OnValidating(this, action);
}
}
}
:
0
私は開発者に
を提供するために、DLLに私LINQ-> SQLクラスをコンパイルしたい場合は、私はこれは良いアイデアだと思いいけません。 LinqToSqlモデルが変更したいかもしれない多くの理由があります。あなたのドメインに新しい洞察を発見しながらモデルを修正する必要があるでしょう。
"開発者に提供する"という別個のDLLを作成することで、開発の効率を阻害する可能性のある人工境界を作成します。あなたが達成しようとする可能性のあるものに対して、ソース管理システムを取得する方が適切かもしれません。
関連する問題
- 1. linq to sqlコンパイル済みクエリのヘルプ
- 2. コンパイル済みのクエリ
- 3. 逆コンパイル済みコードの完成
- 4. コンパイル済みPHP?
- 5. コンパイル済み実行可能ファイルの作成日(VC++ 2005)
- 6. コンパイル済みの.Net Exe
- 7. LINQ to SQLとコンパイル済みクエリ
- 8. コンパイル済みLINQクエリとDataLoadOptions ...
- 9. 定義済みのメソッドへのリンクを作成しますか?
- 10. コンパイル済みのLinQクエリ
- 11. Asp.Netで部分クラスを作成する
- 12. Java:メモリリークを作成する定義済みのfinalizeメソッド
- 13. コンパイル済みPython CGI
- 14. コンパイル済みjarライブラリからjavadoc Webを作成する
- 15. 動的Linq2Sqlコンパイル済みクエリを作成するには?
- 16. コンパイル済みのJavaクラスをMavenプロジェクトに追加
- 17. Entity Framework 6の自動コンパイル済みクエリ
- 18. Netbeans:コンパイル済みのjarファイルのメインクラス
- 19. FutureTask内部クラスの作成をコンパイルできません
- 20. CSharpCodeProviderで部分クラスをコンパイルする
- 21. 奇数コンパイル済みコード
- 22. RazorビューのJITコンパイル済みリソース
- 23. コンパイル済みの.jasperファイルからJasperReportオブジェクトを作成するには?
- 24. Objective-cクラスの作成メソッド
- 25. Dequeクラスの作成メソッド
- 26. コンパイル済みのPythonコードVs py2exe
- 27. .NETの動的コンパイル済みプラグイン
- 28. Windows用Qtアプリケーションのコンパイル済み配布
- 29. 最高のWin32コンパイル済みスクリプト言語?
- 30. コンパイル済みDLLファイルへのデバッグ
はい、ほとんどの場合私は完全にあなたと同期しています。私の体系では、データベースモデルを素早くモデル化するために使用する内部ツールに基づいてlinq-> sqlクラスを生成しています。これにより、必要なときにいつでも再生成でき、linq-> sqlクラスとデータベースは常に同期します。 – Mustafakidd