//---------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Data.Common.Utils;
using System.Data.Mapping.ViewGeneration.Structures;
using System.Runtime.Serialization;
namespace System.Data {
///
/// Mapping exception class. Note that this class has state - so if you change even
/// its internals, it can be a breaking change
///
[Serializable]
internal class InternalMappingException : EntityException {
// effects: constructor with default message
#region Constructors
///
/// default constructor
///
internal InternalMappingException() // required ctor
: base()
{
}
///
/// default constructor
///
/// localized error message
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] // required CTOR for exceptions.
internal InternalMappingException(string message) // required ctor
: base(message)
{
}
///
/// constructor
///
/// localized error message
/// inner exception
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] // required CTOR for exceptions.
internal InternalMappingException(string message, Exception innerException) // required ctor
: base(message, innerException)
{
}
///
/// constructor
///
///
///
protected InternalMappingException(SerializationInfo info, StreamingContext context) :
base(info, context)
{
}
// effects: constructor that allows a log
internal InternalMappingException(string message, ErrorLog errorLog) : base(message) {
EntityUtil.CheckArgumentNull(errorLog, "errorLog");
m_errorLog = errorLog;
}
// effects: constructor that allows single mapping error
internal InternalMappingException(string message, ErrorLog.Record record)
: base(message) {
EntityUtil.CheckArgumentNull(record, "record");
m_errorLog = new ErrorLog();
m_errorLog.AddEntry(record);
}
#endregion
#region Fields
// Keep track of mapping errors that we want to give to the
// user in one shot
private ErrorLog m_errorLog;
#endregion
#region Properties
///
/// Returns the inner exceptions stored in this
///
internal ErrorLog ErrorLog {
get {
return m_errorLog;
}
}
#endregion
}
}