例如,问题类会有问题,标题,内容,发布时间,海报,标签等。这就是获取数据的样子:
public bool LoadFromDataRow(DataRow row)
{
questionId = (long)row["questionId"];
content = (string)row["content"];
poster = (string)row["poster"];
datePosted = (DateTime)row["datePosted "];
title = (string)row["title"];
return true;
}
然而,可能有一段时间我只选择这些属性的子集,如questionid和title。我是否需要编写另一个类来处理这个问题?或者在我使用类似的东西获取值之前,是否需要检查每一列:
if(row.hascolumns(...)) // seems like overkill?
答案 0 :(得分:1)
恕我直言,让您的存储库方法返回一个模型,其中所有属性都被映射,然后在视图上显示/编辑此模型时使用视图模型。然后在您的模型和视图模型(这将是模型的子集)之间执行映射,并在视图中使用视图模型。这有一个例外:BLOB。如果要在数据库中存储二进制数据(如图像),我建议您使用两种不同的方法:一种是获取图像,另一种是不提取图像。