我想编写一个函数,它应该将SQL查询作为参数并将结果作为数据提供。
所以,我希望这个函数能够给出通用结构。
可能是退回DataTable
或SqlDataReader
的最佳方式?
然后从中提取数据并将其放入具有特殊类型的对象(不同类型的模型)?
可能存在一些模式吗?
答案 0 :(得分:2)
您可以将值直接返回给对象。但是你仍然需要将它们最终映射到某些东西。
通常对于这种“通用”用法,我认为所有内容都是作为字符串传输的。 JSON如何在任何地方被串行化为某种字符串,直到它最终被用作其他地方。
无论您使用DataTable还是其他东西,它都无关紧要,因为它最终会完全依赖于您将数据转化为有用的东西。
如果您想查看有关该方法的更多信息,可以查看http://en.wikipedia.org/wiki/NoSQL页面。
Martin Fowler在今年早些时候发表了关于无架构和NoSql的演讲,你可能会觉得很有趣。 http://www.youtube.com/watch?v=8kotnF6hfd8
我会在这里回应其他一些答案,但很可能主张不做“通用”或“普遍”的事情。只需先做一些工作,使系统符合您的想要做的并根据需要进行更改。
答案 1 :(得分:1)
听起来你刚开始。您可能想要考虑像Entity Framework Code First或NHibernate这样的ORM,或者有太多要列出的MicroORM,而不是仅仅针对db运行裸SQL。
我发现EF Code First对初学者来说非常棒。
ORM允许您定义映射到数据库中表的类,并明确请求这些对象的列表(解决返回的问题)。
答案 2 :(得分:0)