我想写一个函数,它应该将 SQL 查询作为参数并给出数据作为结果。所以,我希望这个函数能给出通用的结构。可能是最好的返回方式DataTable
还是SqlDataReader
?
然后从它们中提取数据并将其放入具有特殊类型(不同类别的模型)的对象中?
可能存在一些模式吗?
我想写一个函数,它应该将 SQL 查询作为参数并给出数据作为结果。所以,我希望这个函数能给出通用的结构。可能是最好的返回方式DataTable
还是SqlDataReader
?
然后从它们中提取数据并将其放入具有特殊类型(不同类别的模型)的对象中?
可能存在一些模式吗?
您可以将值直接返回给对象。但是您仍然需要最终将它们映射到某些东西。
通常对于这种“通用”用途,我看到所有内容都作为字符串传输。JSON如何在任何地方都被序列化为某种字符串,直到它最终在某处用作其他东西。
无论您使用 DataTable 还是其他东西,这都无关紧要,因为它最终将完全取决于您如何将这些数据变成有用的东西。
如果您想了解有关该方法的更多信息,可以查看http://en.wikipedia.org/wiki/NoSQL页面。
今年早些时候,Martin Fowler 做了一个关于无模式和 NoSql 的演讲,您可能会觉得很有趣。 http://www.youtube.com/watch?v=8kotnF6hfd8
不过,我会在这里回应其他一些答案,并且很可能主张不要做一些“通用”或“通用”的事情。只需预先进行一些工作,以使系统符合您绝对想做的事情并根据需要进行更改。
It sounds like you're just starting out. You may want to consider an ORM like Entity Framework Code First or NHibernate, or a MicroORM of which there are too many to list, rather than just running bare SQL against a db.
I find EF Code First to be great for beginners.
ORMs let you define classes that map to the tables in your database, and ask for lists of those objects explicitly (solving the problem of what to return).