【发布时间】:2009-09-10 18:52:20
【问题描述】:
我正在使用以下代码将对象及其所有属性保存到数据库中。它使我不必在每个业务对象中创建保存方法。我的基类中的代码是:
public void Save()
{
List<SqlParameter> Params = new List<SqlParameter>();
foreach (PropertyInfo Property in this.GetType().GetProperties())
{
if (Property.CanRead)
Params.Add(new SqlParameter(Property.Name,Property.GetValue(this,null)));
}
Execute<int>(SaveProcedure, Params.ToArray());
}
这是一个好习惯还是我最好不要使用反射并在我创建的每个对象中创建一个保存方法?
任何其他想法或建议表示赞赏,谢谢!
【问题讨论】:
-
如果您的数据库没有与对象的属性名称匹配的字段,您可能会遇到一些问题。
-
感谢大家的快速回复。我将研究 LinqToSql 并完全避免这种情况。
标签: .net reflection inheritance