我正在为一个不太害怕我的代码的公司编写另一个ActiveRecord实现,而不是在CastleProject的实现上命名为"Release Candidate".无论如何,我在基类的每个属性上使用Attributes将它们映射到返回的DataSet列:
[ResultColumnAttribute("CUST_FIRST_NAME")]
public string FirstName
{
get { return _columnName; }
set { _columnName = value; }
}
Run Code Online (Sandbox Code Playgroud)
所以当我从DataSet实例化该类时,我将该属性值赋值为该列的值.当列与属性映射但未显示在DataSet中时,我应该抛出什么异常?我不想去写一个自定义的(懒惰),我认为Application.Exception有点不伦不类.
此异常已本地化到您的域,因此我认为您最好自己编写InvalidMappingException.
我是这样写的:
[Serializable]
public class InvalidMappingException : Exception
{
public InvalidMappingException() { }
public InvalidMappingException(String message)
: base(message) { }
public InvalidMappingException
(String message, Exception innerException)
: base(message, innerException) { }
protected InvalidMappingException
(SerializationInfo info, StreamingContext context)
: base(info, context) { }
}
Run Code Online (Sandbox Code Playgroud)