Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据库返回数据的通用类型_C#_Database_Design Patterns - Fatal编程技术网

C# 从数据库返回数据的通用类型

C# 从数据库返回数据的通用类型,c#,database,design-patterns,C#,Database,Design Patterns,我想写一个函数,它应该以SQL查询作为参数,并给出数据作为结果。 所以,我希望这个函数能给出通用的结构。 可能是返回DataTable或SqlDataReader的最佳方式? 然后从中提取数据并将其放入具有特殊类型的对象(不同类别的模型) 可能存在这种模式?您可以将值直接返回到对象。但你最终还是需要将它们映射到某个地方 通常,对于这种“通用”用法,我看到所有内容都作为字符串传输。JSON在任何地方都被序列化成某种字符串,直到它最终被用作其他东西 无论您是使用DataTable还是其他什么,这其实

我想写一个函数,它应该以SQL查询作为参数,并给出数据作为结果。 所以,我希望这个函数能给出通用的结构。 可能是返回
DataTable
SqlDataReader
的最佳方式?
然后从中提取数据并将其放入具有特殊类型的对象(不同类别的模型)


可能存在这种模式?

您可以将值直接返回到对象。但你最终还是需要将它们映射到某个地方

通常,对于这种“通用”用法,我看到所有内容都作为字符串传输。JSON在任何地方都被序列化成某种字符串,直到它最终被用作其他东西

无论您是使用DataTable还是其他什么,这其实并不重要,因为最终它将完全取决于您如何将这些数据转化为有用的数据

如果您想了解有关该方法的更多信息,可以查看该页面

MartinFowler在今年早些时候做了一个关于无模式和NoSql的演讲,您可能会觉得很有趣。


不过,我会在这里重复一些其他答案,并且很可能主张不要做“通用”或“通用”的事情。只需预先做一些工作,使系统符合您明确想要执行的操作,并根据需要进行更改。

您可以将值直接返回到对象。但你最终还是需要将它们映射到某个地方

通常,对于这种“通用”用法,我看到所有内容都作为字符串传输。JSON在任何地方都被序列化成某种字符串,直到它最终被用作其他东西

无论您是使用DataTable还是其他什么,这其实并不重要,因为最终它将完全取决于您如何将这些数据转化为有用的数据

如果您想了解有关该方法的更多信息,可以查看该页面

MartinFowler在今年早些时候做了一个关于无模式和NoSql的演讲,您可能会觉得很有趣。


不过,我会在这里重复一些其他答案,并且很可能主张不要做“通用”或“通用”的事情。只需提前做一些工作,使系统符合您明确想要做的事情,并根据需要进行更改。

听起来您才刚刚起步。您可能需要考虑ORM类实体框架代码第一或NHiBernT,或者考虑太多列表的MyRoM,而不是只对DB运行裸SQL。

我发现EF代码首先对初学者来说非常好


ORMs允许您定义映射到数据库中表的类,并显式请求这些对象的列表(解决返回内容的问题)。

听起来您才刚刚开始。您可能需要考虑ORM类实体框架代码第一或NHiBernT,或者考虑太多列表的MyRoM,而不是只对DB运行裸SQL。

我发现EF代码首先对初学者来说非常好


ORMs允许您定义映射到数据库中表的类,并显式请求这些对象的列表(解决返回内容的问题)。

您可以使用c作为返回类型。我建议使用ORM,它快速且易于使用,并且具有从查询返回动态的功能,请参阅“执行查询并将其映射到动态对象列表”一节。

您可以使用c作为返回类型。我建议使用ORM,它快速且易于使用,并且具有从查询返回动态的功能,请参阅“执行查询并将其映射到动态对象列表”一节。

为什么不使用实体框架或类似的东西?我想编写SQL以获得对查询的更多控制。ORM可以生成冗余查询。这就是为什么。根据这里的答案,这个问题太模糊了。您是否可以展开您的问题来解释为什么需要一个返回未知类型对象的通用查询命令?也许有一个代码示例?为什么不使用实体框架或类似的东西呢?我想编写SQL以获得对查询的更多控制。ORM可以生成冗余查询。这就是为什么。根据这里的答案,这个问题太模糊了。您是否可以展开您的问题来解释为什么需要一个返回未知类型对象的通用查询命令?也许有一个代码示例?JSON很适合传输数据,但在处理SQL结果方面,它远不如DataTable(或更精细的模型)强大,所以它看起来确实像SQL->??->JSONdepends。如果您正在编写一个单页应用程序,并将所有数据以JSON格式缓存在某种NoSQL repo中,那么可能都是JSON-through。我想我的观点只是一个类比,即使是像json这样的“无类型”结构在某个时候也确实有某种结构,因为你必须将它们与某些东西联系起来。我不知道我是否会提倡一种类似于所建议的解决方案,但当/如果我看到一些东西被“通用”用于检索时,传输机制似乎是字符串。在任何情况下,+1表示“无论您是使用DataTable还是其他什么,这都无关紧要,因为它最终将完全取决于您如何将这些数据转化为有用的数据。”—也就是说,最终只有最终目标才是重要的。JSON对于传输数据很好,但它的功能远不如DataTable(或更精细的模型)为了处理SQL结果,它看起来真的像SQL->??->JSONdepends。如果你正在编写一个单页应用程序,并在某种NoSQL repo中缓存JSON中的所有数据,那么它可能完全是JSON。我想我的观点只是类比,即使像JSON这样的“无类型”结构在som中也确实有某种结构e点,因为你必须把它们和某件事联系起来。我不知道我会主张什么