草庐IT

MySQL分组查询优化

全部标签

c# - 如何通过参数化查询在数据库中插入空值

我有一个datetime数据类型:dttm数据库字段类型也是datatime现在我这样做:if(dttm.HasValue){cmd.Parameters.AddWithValue("@dtb",dttm);}else{//Itshouldinsertnullvalueintodatabase//throughcmd.Parameters.AddWithValue("@dtb",_____)}如何做到这一点。 最佳答案 这可以使用空合并运算符来完成:如果dttm的值为空,则DBNull.Value将被插入,否则将使用dttm的值cm

c# - 在 LINQ 查询 'if' 语句中实现条件 'where' 语句

我正在尝试找出一种在我的数据模型中查询对象的方法,并且只包含那些不为空的参数。如下所示:publicListGetWidgets(stringcond1,stringcond2,stringcond3){MyDataContextdb=newMyDataContext();Listwidgets=(fromwindb.Widgetswhere...ifcond1!=nullw.condition1==cond1......ifcond2!=nullw.condition2==cond2......ifcond3!=nullw.condition3==cond3...selectw).T

c# - LINQ to Entities - 查询中的 Where IN 子句

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicates:LinqtoEntities-Sql“IN”clauseHowtoimplementSQL“in”inEntityframework4.0我如何添加WHEREIN语句,例如...SELECT*FROMmyTableWHEREIDIN(1,2,3,4,5)在EntityFramework中

c# - 尝试在所有 Linq 查询中使用 Plinq 是否可以?

我读到如果PLinq发现PLinq更昂贵,它会自动使用非并行Linq。所以我想为什么不对所有事情都使用PLinq(如果可能),让运行时决定使用哪一个。应用程序将部署到多核服务器,我可以开发更多代码来处理并行性。默认使用plinq有哪些陷阱? 最佳答案 一个陷阱是您失去了利用集合排序的能力。采用以下代码:varresults=newint{0,1,2,3};vardoSomethingSpecial=(fromrinresults.AsParallel()selectr/2).ToArray();您不能指望结果按顺序出现,所以结果可能

c# - linq to sql递归查询

EmployeeIdNameManagerId------------------------------1Anull2Bnull3C14D35E2就用这张表,怎么写个linq查询(用linqtosql)递归取父数据。例如,如果选择的雇主ID为4,则应给出ID为4、3、1的员工列表谢谢。 最佳答案 这个.AsHierarchy()扩展方法可能有用:link.但是,这只能通过提供一种将结果放入链接对象的简单方法来实现。为此,它只会获取所有记录并运行自己的本地递归查询。如果您正在寻找将通过LINQtoSQL直接转换为递归SQL查询的LI

C# 6 空条件运算符不适用于 LINQ 查询

我希望它能工作,但显然IL生成的方式会抛出NullReferenceException。为什么编译器不能为查询生成类似的代码?在ThisWorks情况下,编译器生成的代码将表达式的其余部分短路,为什么它不能对LINQ查询情况做同样的事情?classTarget{publicChildTargetChild;}classChildTarget{publicint[]Values;}IEnumerableThisWorks(Targettarget)=>target.Child?.Values.Select(x=>x);IEnumerableThisDoesNotWork(Targetta

c# - Entity Framework 5 查询中的错误数据类型

我们在我们的业务解决方案中使用EF5.0作为我们的ORM的选择,它以n层方式构建,所有内容都解耦,并且使用ninject有一个很好的组合根。最近,我们一直在构建一个在底层使用分区的数据库,我们在DATE列上有一些重要的索引。列在SqlServer2008上正确声明。我们还在EF映射中添加了正确的数据类型,使用HasColumnType("Date")指令。仍然,当通过LinqtoEntities查询表时,我们过滤日期的参数是DateTime2类型的,甚至列都被转换为DateTime2查询,以便类型与参数匹配。这种行为有几个问题。首先,如果我告诉EF引擎数据库中的列是DATE,为什么要将

c# - 多个消费者和查询 C# BlockingCollection

我正在使用.NET4.0BlockingCollection来处理一个项目队列,每个项目都需要通过一个操作来处​​理,而这个操作最多可能需要一秒钟来处理每个项目。这个项目队列可以由不同的线程添加。我有几个关于这个的问题a)允许多个消费者处理这个BlockingCollection?我注意到GetConsumingEnumerable(),似乎适用于单一消费者场景。拥有多个消费者的原因是,通过命名管道实例的处理一次最多可以处理其中三个项目,因此我认为我可以拥有三个消费者。b)有没有办法检查某个项目是否在此队列中,如果是,让调用者检查是否有要阻塞的项目,直到该项目被处理?编辑:根据JonS

c# - ListView 调整列大小性能问题(分组)

我遇到了ListView的主要性能问题每当我实现分组时。我找到了somewhatsimilarquestions在StackOverflow上,但似乎没有任何帮助!这是我目前的情况(我已经简化了我的项目,所以噪音更少):我有一个ContentControl用ListView作为child。ListView绑定(bind)到ObservableCollection,最初是空的。随着时间的流逝,对象被添加到集合中(在本例中,使用DispatcherTimer每10秒添加500个项目)。ObservableCollection的大小会有所不同,但该系列最终可能会超过25,000件。当Obse

c# - 如何优化 C# 中数组的复制 block ?

我正在编写一个实时视频成像应用程序,需要加快此方法的速度。目前执行大约需要10毫秒,我希望将其缩短至2-3毫秒。我已经尝试了Array.Copy和Buffer.BlockCopy,它们都需要大约30毫秒,比手动复制长3倍。一种想法是以某种方式将4个字节复制为一个整数,然后将它们作为一个整数粘贴,从而将4行代码减少为一行代码。但是,我不确定该怎么做。另一个想法是以某种方式使用指针和不安全代码来做到这一点,但我也不确定该怎么做。非常感谢所有帮助。谢谢!编辑:数组大小为:inputBuffer[327680]、lookupTable[16384]、outputBuffer[1310720]p