问题列表 - 第37936页

EF Where(x => x.ColumnVal == 1)vs FirstOrDefault(x => x.Column == 1)

我有一个LINQ查询加载对象的层次结构,如下所示.

查询#1

var result = db.Orders
               .Include("Customer")
               // many other .Include() here
               .FirstOrDefault(x => x.Customer.CustomerId == 1 &&
                                    x.OrderId == orderId);
Run Code Online (Sandbox Code Playgroud)

我遇到了MAJOR性能问题.
CPU使用率接近100%,内存使用率非常高.

我将其调整为以下内容并解决了性能问题.

查询#2

var result = db.Orders
               .Include("Customer")
               // many other .Include() here
               .Where(x => x.Customer.CustomerId == 1 &&
                           x.OrderId == orderId)
               .FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)



我只想证实我的怀疑.
查询#1可能循环遍历内存中的所有记录,查找匹配的记录,

查询#2过滤数据库中的记录,然后仅获取第一条记录.

这就是Query#1出现性能问题的原因吗?

为了安全起见,我需要使用.Select(x => x)之前的.FirstOrDefault()吗?

查询#3

var result = db.Orders
               .Include("Customer")
               // many other .Include() here
               .Where(x => x.Customer.CustomerId == …
Run Code Online (Sandbox Code Playgroud)

linq-to-entities entity-framework

6
推荐指数
1
解决办法
8859
查看次数

如何在Delphi中调用WinAPI函数SetDllDirectory()?

我想通过访问当前工作目录来防止加载恶意DLL,如http://msdn.microsoft.com/en-us/library/ff919712(VS.85).aspx中所述.

在我们的C++应用程序中实现的解决方案是对SetDllDirectory("")进行WinAPI调用,这将有效地从Windows DLL加载搜索路径中删除当前工作目录.但是,似乎这个解决方案不适用于我们的Delphi应用程序,因为SetDllDirectory()函数不存在.

在Delphi中是否有与SetDllDirectory("")相同的调用?谢谢!

delphi security dll winapi setdlldirectory

6
推荐指数
2
解决办法
4154
查看次数

保持部分应用的功能通用

是否可以部分应用诸如bprintf并根据其初始使用限制其功能?

我想做以下事情:

let builder = new System.Text.StringBuilder()
let append = Printf.bprintf builder
append "%i" 10
append "%s" string_value
Run Code Online (Sandbox Code Playgroud)

generics f# value-restriction

7
推荐指数
3
解决办法
1305
查看次数

如何选择多个连接表值满足选择条件的行?

给出以下示例表模式

客户表

CustID
1
2
3
Run Code Online (Sandbox Code Playgroud)

发票表

CustID InvoiceID

1       10
1       20
1       30
2       10
2       20
3       10
3       30
Run Code Online (Sandbox Code Playgroud)

目标是选择InvoiceID值为10和20(非OR)的所有客户.因此,在此示例中,将返回客户w/CustID = 1和2.

你将如何构造SELECT语句?

sql t-sql sql-server

3
推荐指数
1
解决办法
210
查看次数

django:模板如何连续填充3个项目的表格

我想填写一个包含结果列表的表格.但是不确定如何告诉模板是时候关闭当前并开始一个新的,在3个产品已经显示在当前的tr ....

如果有人能就此提出建议,我会很高兴.我正在运行django 1.1.1

django django-templates

4
推荐指数
2
解决办法
3081
查看次数

追踪子弹与原型

我开始阅读The Pragmatic Programmer,我很享受并学习堆积形式,但我很难理解示踪剂子弹和原型之间的区别.跟踪子弹是否具有应用程序的所有视图但尚未添加整个功能?

谢谢

prototype

19
推荐指数
3
解决办法
6179
查看次数

使用CUDA实现MySQL

我是CS的高年级本科生.目前我正在参加计算机体系结构课程.我们需要做一个项目.我想做一些与CUDA相关的事情,其中​​计算的性能将适度增加,并且与串行实现相关.

我对数据库很感兴趣所以我决定做一些与SQL相关的事情.我只有MySQL的经验,我找不到任何与使用CUDA如何使用MySQL相关的东西.我只能找到一个关于SQL的研究,它使用SQLite.我不知道该怎么做以及如何收集有关这个主题的信息,所以我决定接受你的意见.

最好

mysql database cuda

10
推荐指数
3
解决办法
1万
查看次数

ActiveRecord:如何添加NOLOCK?

使用ActiveRecord时我需要添加"WITH NOLOCK"吗?我知道有一种方法可以实现nHibernate,但无法在ActiveRecord中解决这个问题.

谢谢您的帮助.问候,

activerecord

6
推荐指数
1
解决办法
1811
查看次数

Eclipse DDMS Persepctive(Android ADT插件)中的Logcat选项卡保持空白

我在Fedora 11-13下运行Eclipse(Galileo)时已经看到了这个问题,无论目标是我的设备还是模拟器.但现在使用我的新设备HTC T-Mobile G2(Android 2.2),我更频繁地看到它:我成功下载了应用程序(完成了大量的Log.d()调用),系统成功启动了它,但是DDMS透视图中的LogCat窗格完全空白.

有时,只有在某些时候,我似乎能够通过点击Debug(小错误)工具来实现它.但这甚至都不起作用.更糟糕的是,它迫使我重新启动整个程序,这非常麻烦.

是的,我确实记得连接设备并确保设备显示在"adb设备"下,并确保这是ADT下载到的设备.我甚至可以在代码中点击断点.

我想我可以尝试仅仅依赖于调试器,但我在正确的地方编写了很多工作来编写这些Log.d语句,现在没有它们将是一个巨大的飞跃.因此,欢迎任何关于问题可能是什么,变通方法或如何找到针对ADT,SDK或G2记录的相关错误的建议.

TIA

PS:到目前为止谷歌搜索"android ddms logcat"没有帮助.

PS:我还考虑过从命令行运行ddms,但是有关如何执行此操作的说明与ADT已经选择用于运行DDMS的端口冲突并不清楚,这足以激发信心:所以我总是在运行命令行之前退出Eclipse ddms的版本.但是后来我失去了在阅读日志时导航我的源代码的方便能力(由Eclipse提供),所以这也是一个较差的解决方案.也许如果有人可以通过解释如何让设备和命令行DDMS在仍然运行Eclipse的同时在端口上达成一致来连接Google的说明中的更多点,那将是一个很好的解决方案.

java eclipse android

4
推荐指数
1
解决办法
3920
查看次数

在Windows上进行Qt dll部署

部署Qt应用程序时遇到了一个奇怪的问题.我在我的Windows XP 32位盒子上创建了一个带有所有必要dll和我的二进制文件的Zip,应用程序工作正常,

然后我在运行Windows 7 64位的笔记本电脑上测试了这个,给了我奇怪的结果.窗口图标返回默认值,我的系统托盘图标不可见.其他一切都在发挥作用.当我从窗口上的相同资源文件中绘制徽标时(这适用于两台机器),资源文件应该正常加载.

然后我将dll(我使用相同的安装程序安装)从我的win7机器复制到我的二进制文件目录,图标再次工作.我检查了dll哈希,它们是相同的.

此外,我在我的XP机器上尝试了这些dll,这次它没有显示图标.

这很奇怪,因为dll是从同一个软件包安装的,并且是相同的,但不能在另一台机器上运行.

有什么我忽略的吗?

我正在使用QT 4.7和msvs2008安装程序加上插件.

windows deployment qt

3
推荐指数
1
解决办法
4710
查看次数