sqlmetal を使用して DBML を生成し、変換を実行してから、sql metal を使用して DataContext クラスを生成しています。さらに、データベースに保存するメタデータに基づいて、エンティティの検証を自動的に生成したいと考えています。各エンティティとその属性。たとえば、エンティティにメタ タイプ "Email" の "EmailAddress" フィールドであることがわかっている場合、Email エンティティの OnValidate メソッドを作成して、正規表現に準拠していることを確認したいと考えています。それはすべてうまくいきます。別のファイルで次のようにすることができます。
public partial class MYENTITY
{
partial void OnValidate(System.Data.Linq.ChangeAction action)
{
if(action != System.Data.Linq.ChangeAction.Delete)
{
//check the validity of my email field or anything else
}
}
}
この DataContext を使用したい開発者が独自のロジックをこのエンティティの OnValidate メソッドにフックできるようにしながら、どうすればこれを行うことができますか? 私たちの状況では、これは開発中のアプリケーションに固有のビジネス ロジックになります。上記で説明した追加は、データベースに取得されるデータが期待どおりであることを保証するための単なる保護手段です。
助けてくれてありがとう。ここで新しいので、何か間違ったことをした場合はお詫び申し上げます。