阅读完这个之后,我还有一个问题:
我使用以下代码来查询数据库:
c# :
new BLL().GetPersonById(1)
BLL :
public Person GetPersonById(int id)
{
return new DAL ().GetPersonById(1);
}
DAL :
public Person GetPersonById(int id)
{
// goto db and create instance of Person and fill its data...
}
然而,我做错了吗?
我的数据访问层(DAL)应该返回DataTable
而不是Person对象吗?这样业务逻辑层(BLL)就会创建Person对象...?
DAL:
public DataTable GetPersonById(int id)
{
// goto db ...
}
谢谢。
编辑:
Person对象定义在BE dll(业务实体)中。
DataTable
被使用,除非有一些非常好的原因(主要是:如果架构完全不可预测),否则我会认为存在非常大的问题...应该使用Person
!但是:这里没有单一的答案,只是个人观点。 - Marc Gravell