草庐IT

c# - 多次使用 Include() 时 Entity Framework 代码很慢

我一直在调试一些缓慢的代码,似乎罪魁祸首是下面发布的EF代码。在稍后阶段评估查询需要4-5秒。我试图让它在1秒内运行。我已经使用SQLServerProfiler对此进行了测试,似乎执行了一堆SQL脚本。它还确认在SQL服务器完成执行之前需要3-4秒。我已经阅读了有关使用Include()的其他类似问题,并且在使用它时似乎确实存在性能损失。我尝试将以下代码拆分为几个不同的查询,但没有太大区别。知道如何让以下内容更快地执行吗?目前,我正在开发的网络应用程序在等待以下完成时只显示一个空的iframe。如果我无法获得更快的执行时间,我必须将其拆分并使用数据部分加载iframe或使用另一个异步

c# - LINQ:从类型 T 的列表中,仅检索某个子类 S 的对象

给定一个简单的继承层次结构:人->学生、教师、职员假设我有一个人员列表,L。在该列表中有一些学生、教师和工作人员。使用LINQ和C#,有没有一种方法可以编写一个只能检索特定类型人员的方法?我知道我可以做类似的事情:varpeopleIWant=L.OfType();但我希望能够做一些更有活力的事情。我想编写一个方法来检索我能想到的任何类型的Person的结果,而不必为每种可能的类型都编写一个方法。 最佳答案 你可以这样做:IListpersons=newList();publicIListGetPersons()whereT:Per

c# - LINQ:从类型 T 的列表中,仅检索某个子类 S 的对象

给定一个简单的继承层次结构:人->学生、教师、职员假设我有一个人员列表,L。在该列表中有一些学生、教师和工作人员。使用LINQ和C#,有没有一种方法可以编写一个只能检索特定类型人员的方法?我知道我可以做类似的事情:varpeopleIWant=L.OfType();但我希望能够做一些更有活力的事情。我想编写一个方法来检索我能想到的任何类型的Person的结果,而不必为每种可能的类型都编写一个方法。 最佳答案 你可以这样做:IListpersons=newList();publicIListGetPersons()whereT:Per

c# - LINQ Where in 集合子句

我一直在谷歌上寻找,但没有找到任何适合我的东西。如您所知,SQL有一个“wherexin(1,2,3)”子句,它允许您检查多个值。我正在使用linq,但似乎找不到与上述语句相同的语法。我有一个类别ID的集合(列表),我想检查它我发现了一些使用.contains方法的东西,但它甚至没有构建。 最佳答案 您必须在您的id列表上使用Contains方法:varquery=fromtindb.TablewhereidList.Contains(t.Id)selectt; 关于c#-LINQWhe

c# - LINQ Where in 集合子句

我一直在谷歌上寻找,但没有找到任何适合我的东西。如您所知,SQL有一个“wherexin(1,2,3)”子句,它允许您检查多个值。我正在使用linq,但似乎找不到与上述语句相同的语法。我有一个类别ID的集合(列表),我想检查它我发现了一些使用.contains方法的东西,但它甚至没有构建。 最佳答案 您必须在您的id列表上使用Contains方法:varquery=fromtindb.TablewhereidList.Contains(t.Id)selectt; 关于c#-LINQWhe

c# - Linq 查找所有具有特定类型的

有没有办法使用Linq/Lambda表达式在列表中查找特定类型的所有项目?更新:由于答案,我意识到问题不够具体。我需要一个仅包含特定类型项目的新列表。在我的例子中,该类没有任何子类,因此无需考虑继承。 最佳答案 使用OfType像这样:foreach(varbarinMyList.OfType()){...} 关于c#-Linq查找所有具有特定类型的,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

c# - Linq 查找所有具有特定类型的

有没有办法使用Linq/Lambda表达式在列表中查找特定类型的所有项目?更新:由于答案,我意识到问题不够具体。我需要一个仅包含特定类型项目的新列表。在我的例子中,该类没有任何子类,因此无需考虑继承。 最佳答案 使用OfType像这样:foreach(varbarinMyList.OfType()){...} 关于c#-Linq查找所有具有特定类型的,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

c# - 使用 linq/Entity Framework 查询多对多关系。代码优先

如何首先使用实体​​框架代码和linq查询多对多关系?问题是EF自动创建关系表。所以,我的上下文中没有它。这是关系模型:我需要一个特定Category_Id的文章列表,基本上复制类似的内容:selecta.Id,a.Title,a.ShortDescriptionfromArticlesajoinCategoryArticlescaonca.Article_Id=a.Idwhereca.Category_Id=@parameter但是我的dbcontext只有:publicDbSetArticles{get;set;}publicDbSetCategories{get;set;}.感谢

c# - 使用 linq/Entity Framework 查询多对多关系。代码优先

如何首先使用实体​​框架代码和linq查询多对多关系?问题是EF自动创建关系表。所以,我的上下文中没有它。这是关系模型:我需要一个特定Category_Id的文章列表,基本上复制类似的内容:selecta.Id,a.Title,a.ShortDescriptionfromArticlesajoinCategoryArticlescaonca.Article_Id=a.Idwhereca.Category_Id=@parameter但是我的dbcontext只有:publicDbSetArticles{get;set;}publicDbSetCategories{get;set;}.感谢

c# - OrderBy 和 OrderByDescending 是否稳定?

我目前正在阅读ProLINQc#2008,在第87页有人说OrderBy和OrderByDescending是稳定的。但他在第96页说的恰恰相反。在我看来,他指的是完全相同的功能,所以我不明白。他们是stableornot? 最佳答案 是的,它们绝对稳定。我在myreview中发现了同样的错误的书。Joe回应了我的评论:Justforyourreader'sknowledge,theorderingisnowspecifiedtobestable.Initiallyitwasunstable,andwaslaterchangedto