我有一系列的对象,我创建:.NET对象设计
项目
订购
宋
等
每个对象都有属性的合理数量,并且我使用了一个datareader来传递它“SELECT * FROM .objectname”。然后我填充一个对象集合,并返回集合。这工作如下:GetOrdersCollection(),GetSongsCollection()等
我明白SELECT *是一个性能问题,此外,有时我更喜欢在选择语句中包含额外的列中不存在的对象,并让所有人都返回。
所以我的问题是,解决这个问题的最好方法是什么?
我应该为每个查询类型创建一个新对象吗?
我试着在存储它之前检查列是否在datareader中,但是这会显示perf。的问题。有没有一个可以忽略的表演。避免IndexOutOfRange的方法?
我应该只使用Datatable并从表中读取权限吗?
从数据库返回的数据速度对我来说不是问题。我可以在不到一秒的时间内返回20,000条记录。我的关注来自于尝试加载只包含某些查询所需的连接数据的对象。如果我包含来自另一个相关列的某列,这会打破对象设计。我知道这是一个耦合问题,但我不知道比使用数据表更好的方法。 – 2009-08-07 02:49:54
p.s.我投了你的建议......谢谢。 – 2009-08-07 02:50:54
这就是为什么OR/Ms被发明的原因 - 正如你所发现的,对象不一定映射1到1到数据库表(我们认为你最好的选择是找到一个性能和可维护性的快乐媒介 - 不要担心如何让您的应用程序企业能够让您的应用程序保持可持续性。那有意义吗? – 2009-08-07 02:55:03