我想有条件地加载一个实体和它的孩子(我只想在child.IsActive == true时急切地加载孩子).我该如何执行以下操作?
var parent =
from p in db.tblParents.Include("tblChildren") <-- where tblChildren.IsActive == true
where p.PrimaryKey == 1
select p;
Run Code Online (Sandbox Code Playgroud)
注意:我不想返回匿名类型.
谢谢.
此函数用于返回用户搜索输入的联系人列表.搜索词的数量始终至少为一,但可能很多.
public IList<Contact> GetContacts(string[] searchTerms)
{
using (dbDataContext db = new dbDataContext())
{
var contacts = from _contacts in db.Contacts
orderby _contacts.LastName ascending, _contacts.FirstName ascending
select _contacts;
foreach (string term in searchTerms)
{
contacts = (IOrderedQueryable<Contact>)contacts.Where(x => SqlMethods.Like(x.FirstName, "%" + term + "%")
|| SqlMethods.Like(x.MiddleName, "%" + term + "%")
|| SqlMethods.Like(x.LastName, "%" + term + "%")
|| SqlMethods.Like(x.PreferredName, "%" + term + "%"));
}
return contacts.ToList<Contact>();
}
}
Run Code Online (Sandbox Code Playgroud)
问题出在循环中.即使生成的sql看起来是正确的,也只使用了最后一个搜索词(就像为术语数生成了正确数量的子句一样).
示例 - 如果我传递两个术语('andr','sm'),生成的sql显示两个子句块,但只使用'sm'作为两个块中的param.
我究竟做错了什么?我应该使用SqlMethods吗?
可能重复:
什么是一些好的.NET Profilers?
我试图在Windows中测试应用程序的内存泄漏.我已经看过Linux替代品(例如Valgrind),我正在为Windows寻找类似的工具..Net的问题在于内存不像Linux那样立即发布.
我对.Net的了解有限,所以我的问题是我想使用一个工具来查找Windows .Net可执行文件的内存泄漏.理想情况下,程序应该能够在我使用应用程序时检测到任何内存泄漏.有谁知道这样的工具或有任何建议来解决这个问题?
在此先感谢您的帮助.
谢谢你的回复.任何人都可以告诉我,如果这些程序中的任何一个允许您从命令行执行并将内存泄漏报告输出到文本文件中.
谢谢
我想在运行时按下按钮时向我的JFrame添加一些新组件.这工作到目前为止,但我必须手动调整窗口大小以查看新组件.
是否有可以触发的动作或调用刷新窗口的方法?任何帮助赞赏.提前致谢.
Magento后端允许您禁用每个站点的模块输出.我已经完成了一些谷歌搜索,但无法弄清楚如何通过我的代码获取此值.基本上,当我的模块输出被禁用时,工作正常.但我发现(艰难的方式)Magento并没有阻止模块加载每个站点.
因为我正在扩展一些核心类,所以一些构造函数仍在执行中.我的想法是检查模块输出是否被禁用.如果是这样,让我的构造函数调用父的构造函数.如果启用了模块输出,请继续我的自定义代码.
我只是无法弄清楚如何获取当前站点的这个值(我是多站点,BTW).理想情况下它会是这样的:
$isThisEnabled = Mage::app()->getCurrentStore()->isOutputEnabled('myModule');
基本上有一行可以获取当前站点的值(如果没有为当前站点指定,则为默认值).
任何帮助将不胜感激!
编辑:我找到了表core_config_data,它似乎存储了这些信息.我可以手动查询,如果我必须,但我觉得我的Magento将有一些内置返回当前专卖店的值,回落至默认值.
我写这应该是多余的小代理应用程序,如初级代理将一台服务器上运行,且冗余的一个将在单独的服务器上运行.是否有一个简单的高可用性框架,我可以用它来实现这种冗余?例如,此HA框架将在实例之间发送ping,并在第一个实例出现故障时在另一个实例上引发某种异常或通知.
我正在尝试从网上下载文件并将其写入SD卡.我启用了WRITE_EXTERNAL_STORAGE权限.代码在这里失败:
OutputStream output = new FileOutputStream(filePath);
09-15 19:40:31.630: WARN/System.err(7933): java.io.FileNotFoundException: /sdcard/artoo/Customerv08.apk
09-15 19:40:31.630: WARN/System.err(7933): at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:231)
09-15 19:40:31.630: WARN/System.err(7933): at java.io.FileOutputStream.<init>(FileOutputStream.java:96)
09-15 19:40:31.630: WARN/System.err(7933): at java.io.FileOutputStream.<init>(FileOutputStream.java:169)
09-15 19:40:31.630: WARN/System.err(7933): at java.io.FileOutputStream.<init>(FileOutputStream.java:147)
09-15 19:40:31.640: WARN/System.err(7933): at com.artoo.settings.InstallerActivity$ProgressDialogAsyncTask.doInBackground(InstallerActivity.java:148)
09-15 19:40:31.640: WARN/System.err(7933): at com.artoo.settings.InstallerActivity$ProgressDialogAsyncTask.doInBackground(InstallerActivity.java:1)
09-15 19:40:31.640: WARN/System.err(7933): at android.os.AsyncTask$2.call(AsyncTask.java:185)
09-15 19:40:31.640: WARN/System.err(7933): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:256)
09-15 19:40:31.640: WARN/System.err(7933): at java.util.concurrent.FutureTask.run(FutureTask.java:122)
09-15 19:40:31.640: WARN/System.err(7933): at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:648)
09-15 19:40:31.640: WARN/System.err(7933): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:673)
09-15 19:40:31.651: WARN/System.err(7933): at java.lang.Thread.run(Thread.java:1060)
09-15 19:40:31.670: WARN/InputManagerService(53): Window already focused, ignoring focus gain …Run Code Online (Sandbox Code Playgroud) 根据"应用程序基础"一文的"组件生命周期"一节,当视图变为活动状态时,始终会调用onResume(),而与之前的状态无关.
在Notepad教程练习3中,我在NoteEdit.java中发现了一些令人困惑的事情:
在onCreate()和onResume()中调用了populateFields().
仅在onResume()中使用它是否足够(甚至更好)?
在这样一个小例子,它不会做任何伤害,如果populateFields()进行两次,但在一个更大的应用程序,事情可能会有所不同?
谢谢和问候,
马库斯N.