エラー メッセージをログに記録するために使用したいコードがあります。メッセージを保持するために、次のような 2 つのクラスを作成しました。
public class HttpStatusErrors
{
public HttpStatusErrors()
{
this.Details = new List<HttpStatusErrorDetails>();
}
public string Header { set; get; }
public IList<HttpStatusErrorDetails> Details { set; get; }
}
public class HttpStatusErrorDetails
{
public HttpStatusErrorDetails()
{
this.Details = new List<string>();
}
public string Header { set; get; }
public IList<string> Details { set; get; }
}
これはこれを行うための良い方法だと思いますが、100% 確信があるわけではなく、提案を歓迎します。
私がやりたいことはHeader
、私の例では「検証メッセージ」になる最初のクラスに保存することです。次に、エラーのあるエンティティを示した別のオブジェクトをオブジェクトに保存し、最後に検証エラーDetail
をストアに保存したいと思います。Header
Details
私が混乱しているのは、クラスをインスタンス化する方法です。私はこれまでこれを行ってきました。これは正しいと思います。しかし、追加する必要がある詳細を追加するにはどうすればよいですか:
catch (DbEntityValidationException ex)
{
var msg = new HttpStatusErrors();
msg.Header = "Validation Error";
foreach (var eve in ex.EntityValidationErrors)
{
var header = string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
eve.Entry.Entity.GetType().Name, eve.Entry.State);
foreach (var ve in eve.ValidationErrors)
{
var detail = string.Format("- Property: \"{0}\", Error: \"{1}\"",
ve.PropertyName, ve.ErrorMessage);
}
}
}.