1

動的データを使用したアプリの構築を検討しています。私たちがやりたいのは、いくつかのビジネスルール(検証ルールではなく、アプリの外部またはデータベースに戻るルール)を実行することです。これらのルールを実行すると、検証エラーの列挙リストが返されます。

質問:
ASP.Net動的データに保存前に何らかの「Context.Validate()」を実行して、ビジネスルール検証エラーを取得する方法はありますか?

ありがとう :)

4

2 に答える 2

0

'OnValidate'メソッドをLinqテーブルの部分クラスに追加できます。次に、このメソッド内で必要なカスタム検証を実行できます。ビジネスルールに失敗した場合は、ValidationExceptionをスローするなど、適切に対応できます。これにより、データがデータベースに保存されなくなります。

[MetadataType(typeof(LinqClassNameMetadata))]
    public partial class LinqTableClassName
    { 
        //HERE IS THE SOLUTION
        partial void OnValidate(System.Data.Linq.ChangeAction action)
        {
           //Implement business rules here

           //If something is wrong, you can do something like
           throw new ValidationException("assert whatever is wrong");
        }
}

public class LinqClassNameMetadata
{
        //Just an example
        [Required]
        public object WhateverColumn;

         //etc.
}
于 2012-10-31T11:30:27.543 に答える
0

保存をインターセプトする方法は、使用しているオブジェクト/リレーショナル マッパー (O/RM)、LinqToSQL または Entity Framework によって異なります。

LinqToSql を使用している場合は、次のチュートリアルを参照してください: http://msdn.microsoft.com/en-us/library/bb629301(v=vs.100).aspx

Entity Framework を使用している場合は、次のリンクを参照してください: http://msdn.microsoft.com/en-us/data/gg193959.aspx

于 2012-09-11T14:56:39.347 に答える