Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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# Linq还是多个数据库调用?_C#_Sql Server_Entity Framework_Linq - Fatal编程技术网

C# Linq还是多个数据库调用?

C# Linq还是多个数据库调用?,c#,sql-server,entity-framework,linq,C#,Sql Server,Entity Framework,Linq,我使用C#/Asp.Net/Entity Framework来检索我的数据,当与linq结合使用时,即使是像我这样的新手也可以非常轻松地检索数据 我有一个特别的场景,我正在寻找建议 我有一个相对较小的数据表(200个产品),但是作为EF,同时检索到其他表 我连续10次使用此表中的数据,如下所示: type = 1; subtype = 1; // do something with this type = 1; subtype = 2; // then do something with th

我使用C#/Asp.Net/Entity Framework来检索我的数据,当与linq结合使用时,即使是像我这样的新手也可以非常轻松地检索数据

我有一个特别的场景,我正在寻找建议

我有一个相对较小的数据表(200个产品),但是作为EF,同时检索到其他表

我连续10次使用此表中的数据,如下所示:

type = 1;
subtype = 1; // do something with this

type = 1;
subtype = 2; // then do something with this
您可以看到图片-它总是相同的类型,但我根据子类型做其他事情-我当前使用linq提取这些子类型-因此我对类型进行1db调用,然后使用linq处理其余的子类型


问题是,每次使用type和subtype对db进行10次调用是否更好?它当然会使代码更整洁,但我猜它的性能可能会更低。

您对“更好”的定义是什么?为什么不选择所有产品记录并将它们与
类型和
子类型连接起来(
包括
)(我想这是相同的
类型
-表,不是吗?)。然后在一个查询中就有了所需的所有信息。显示您的查询。老实说,只要您的数据量不是很大就可以了,当数据量变得很大而sql server无法处理时,您应该感到担心。阅读有关存储过程以及如何使用实体框架创建它们的内容,以及@TimSchmelter说您也应该挖掘的内容(假设您还没有这样做?!这很奇怪)更好地涵盖所有的事情-我认为自己没有足够的经验来了解所有的利弊,但我可以作出明智的决定,如果有争论的任何一个。你有一个工作解决方案,有足够的性能=不打破=不修复它。考虑到条目的数量,两种可能性应同等有效。如果条目更多,您可能会利用DBMS的索引。这可能比全部获取和通过linq过滤要好。但我说的可能是数百万条。