草庐IT

查询语句

全部标签

c# - 使用 c# lambda 将 NameValueCollection 转换为查询字符串是否有效?

在研究如何将NameValueCollection转换为查询字符串时,我遇到了不同的方法。我很好奇更短的lambda语法是否尽可能高效。HowtoconvertNameValueCollectiontoa(Query)String使用迭代函数。publicstaticStringConstructQueryString(NameValueCollectionparameters){Listitems=newList();foreach(Stringnameinparameters)items.Add(String.Concat(name,"=",System.Web.HttpUtili

MySQL基础篇之多表查询

前言MySQL在我们工作中都会用到,那么我们最常接触的就是增删改查,而对于增删改查来说,我们更多的是查询。但是面试中,面试官又不会问你什么查询是怎么写的,都是问一些索引啊,事务啊,底层结构这些东西,所以我打算分四篇去逐一的过一遍MySQL的知识点。以下为四篇的传送门,有需要直接点击进入,目前还在建设当中,可以关注作者或专栏,持续更新,永不收费。篇章地址DDL查询篇传送门MySQL函数及视图、存储过程–MySQL索引及优化–MySQL事务及架构–文章目录前言一、SQL的分类二、DDL数据定义语言1.MySQL中的数据类型1.针对数据库操作1.创建数据库2.使用数据库3.修改数据库4.删除数据库2

c# - 移动/更新命名空间声明时如何阻止 ReSharper 删除未使用的 Using 语句?

当使用ReSharper移动/更新命名空间声明时,是否有办法阻止ReSharper删除未使用的Using语句?换句话说,如果我有这样一个类:usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.ServiceModel;usingSystem.Text;namespaceFoo.Bar{classMyClass{ListNames{get;set;}}}我想使用ReSharper将它移动到Foo.Bar.Utilities命名空间,Resharper将删除所有未使用的Using语句并留给我:usingSystem.Co

c# - Entity Framework 子查询

伙计们,我是EntityFramework的新手,我遇到了一个我一直试图解决的问题。基本上我有4个实体:用户、组、书籍和阅读列表。用户可以加入一个组,一个组包含书籍-由readingList定义。我正在尝试显示特定组的图书列表,SQL如下所示:SELECT*FROMBooksbWHEREb.IdIN(SELECTBookIDFROMReadingListrlWHERErl.GroupID='3')我通过从UserRepository查询当前用户来确定要搜索的GroupID,目前“按组获取图书”方法如下所示://GetbooksbygrouppublicIQueryableGetGrou

c# - Linq 缓慢具体化复杂查询

我经常发现,如果我在Linq查询中有太多连接(无论是使用EntityFramework还是NHibernate)和/或生成的匿名类的形状太复杂,Linq需要很长时间才能实现结果设置为对象。这是一个一般性问题,但这里有一个使用NHibernate的具体示例:varlibraryBookIdsWithShelfAndBookTagQuery=(fromshelfinsession.Query()joinsbttrefinsession.Query()onshelf.ShelfIdequalssbttref.ShelfIdjoinbookTaginsession.Query()onsbttr

c# - 查询 "Memory"的 LINQ

是否LINQ有办法在查询时“记住”它以前的查询结果吗?考虑以下情况:publicclassFoo{publicintId{get;set;}publicICollectionBars{get;set;}}publicclassBar{publicintId{get;set;}}现在,如果两个或更多Foo具有相同的Bar集合(无论顺序是什么),它们被认为是相似Foo.例子:foo1.Bars=newList(){bar1,bar2};foo2.Bars=newList(){bar2,bar1};foo3.Bars=newList(){bar3,bar1,bar2};在上面的例子中,foo

c# - EF 6 - 如何正确执行并行查询

创建报告时,我必须执行3个涉及相同上下文的不同实体的查询。因为它们很重,所以我决定使用.ToListAsync();让它们并行运行,但令我惊讶的是,我从中得到了一个异常(exception)...使用EF6并行执行查询的正确方法是什么?我应该手动启动新任务吗?编辑1代码基本上是using(varMyCtx=newMyCtx()){varr1=MyCtx.E1.Where(blablabla).ToListAsync();varr2=MyCtx.E2.Where(blebleble).ToListAsync();varr3=MyCtx.E3.Where(blebleble).ToList

c# - 为什么 lambda 语句周围的括号会导致语法错误?

我正在寻找一个很好的解释,为什么一段代码无法编译而另一段代码编译正常。失败:richTextBox1.Invoke(newMethodInvoker((()=>{richTextBox1.AppendText("test");})));给出错误Methodnameexpected在MethodInvoker(之后的左括号上。显然,我不能将lambda语句括在括号中。编译:richTextBox1.Invoke(newMethodInvoker(()=>{richTextBox1.AppendText("test");}));问题是-为什么?我总是想当然地认为,如果我愿意,我可以将任何方

c# - 将字符串解析为 LINQ 查询

将LINQ字符串解析为查询的最佳做法是什么方法?或者换句话说,哪种方法最适合转换:stringquery=@"fromelementinsourcewhereelement.Property=""param""selectelement";进入IEnumerable=fromelementinsourcewhereelement.Property="param"selectelement;假设source指的是IEnumerable或IQueryable在本地范围内。 最佳答案 从.NET4.6开始,您可以使用CSharpScrip

c# - lock 语句如何确保处理器内同步?

我有一个同时执行两个线程的小型测试应用程序。一个递增staticlong_value,另一个递减它。我已通过ProcessThread.ProcessorAffinity确保线程与不同的物理(无HT)内核相关联以强制处理器内部通信,并且我已确保它们在执行时间上重叠很长一段时间。当然,以下不会导致零:for(longi=0;i因此,合乎逻辑的结论是:for(longi=0;i这当然会导致零。但是,以下也会导致零:for(longi=0;i当然,lock语句确保读取和写入不会重新排序,因为它采用了全栅栏。但是,我找不到有关处理器高速缓存同步的任何信息。如果没有任何缓存同步,我想我应该在两个