我对Linq很新,我可以在任何地方找到多行数据读取示例(通过使用foreach()),但是读取单行数据的正确方法是什么?像经典的产品详细信息页面.
以下是我的尝试:
var q = from c in db.Products
where c.ProductId == ProductId
select new { c.ProductName, c.ProductDescription, c.ProductPrice, c.ProductDate };
string strProductName = q.First().ProductName.ToString();
string strProductDescription = q.First().ProductDescription.ToString();
string strProductPrice = q.First().ProductPrice.ToString();
string strProductDate = q.First().ProductDate.ToString();
Run Code Online (Sandbox Code Playgroud)
代码看起来不错,但是当我看到使用SQL Profiler生成的实际SQL表达式时,它让我很害怕!程序执行了四个Sql表达式,它们完全相同!
因为我从一行读了四列.我想我一定做错了,所以我想知道这样做的正确方法是什么?
谢谢!
我有一份报告,我正在使用 VS2008 版本的 Crystal Reports 将其导出为 PDF。有一个字段显示产品说明,其中包含从我的数据库中提取的 HTML 数据,因此我已将该字段的文本解释设置为 HTML。文本以所有适当的 HTML 格式显示良好,但是,段落之间只有一个行距。我尝试添加多个 <p> 和多个 <br> 标签来增加间距,但这不起作用。如何增加要导出为 PDF 的 HTML 字段中段落之间的间距?
我想保存并恢复WinForms 表单的状态,更具体地说是DesktopBounds和WindowState.
但是,当WindowState不正常(即最小化或最大化)时,我希望在Form仍处于正常状态时保存DesktopBounds 的先前值.
显然,Windows会在某处记住此前的状态,因为单击最大化按钮两次会恢复表单的原始位置和大小.我如何阅读这个原始状态?
编辑:一些类似的SO问题:
是否有任何可能的方法通过单行代码将多个CSS应用于控件.在下面的示例中,我可以只应用一个属性
$('#<%=lblMessage.ClientID%>').css("color", "#16428b");
Run Code Online (Sandbox Code Playgroud)
假设我想应用字体或背景......怎么可能
-谢谢
对于较大的JMS部署,您对命名约定的最佳实践建议是什么?
目前,我们正在遵循Sun Developer Network Blueprints中的建议.例如:
jms/<resource-name>[Queue|Topic]
Run Code Online (Sandbox Code Playgroud)
随着我们在系统中获得越来越多的队列和主题,我担心扩展它.我特别感兴趣的是听到使用分层命名的经验以及人们如何决定他们的命名约定.
我正在尝试使用基于注释的Spring MVC创建简单的添加/删除表单."添加"功能顺利进行,但当我尝试添加另一个按钮时,我遇到了困难.
这是我的代码:
控制器动作:
@RequestMapping(value = "/books/documentType.do", method = RequestMethod.GET)
public String getDocType(
@RequestParam(required = false, value = "id") Long id,
ModelMap model) {
DocTypeDTO docType = new DocTypeDTO();
if (id != null)
docType = docTypeConverter.getDTO(id);
model.addAttribute("docType", docType);
return "/books/documentType";
}
@RequestMapping(value = "/books/documentType.do", method = RequestMethod.POST)
public String setDocType(
@ModelAttribute("docType") DocTypeDTO docType,
BindingResult result,
SessionStatus sessionStatus
) {
docTypeValidator.validate(docType, result);
if (result.hasErrors())
return "/books/documentType";
else {
docTypeConverter.saveDTO(docType);
sessionStatus.setComplete();
return "redirect:/books/documentTypes.do";
}
}
Run Code Online (Sandbox Code Playgroud)
非常标记的形式:
<form:form method="post" commandName="docType" id="editForm">
<table width="100%" …Run Code Online (Sandbox Code Playgroud) 我不习惯使用标志编程,但我认为我发现它们有用的情况:
我有几个对象将自己注册为某些事件的监听器.他们注册的事件取决于构造它们时发送给它们的变量.我认为一个很好的方法是发送按位OR连接变量,如:TAKES_DAMAGE | GRABBABLE | LIQUID等等.然后,在构造函数中,对象可以检查设置了哪些标志,并将其自身注册为侦听器.
但这是我感到困惑的地方.优选地,标志将在枚举中.但这也是一个问题.如果我们有这些标志:
enum
{
TAKES_DAMAGE,/* (0) */
GRABBABLE, /* (1) */
LIQUID, /* (2) */
SOME_OTHER /* (3) */
};
Run Code Online (Sandbox Code Playgroud)
然后发送标志SOME_OTHER(3)将与发送GRABBABLE |相同 LIQUID,不是吗?
你究竟如何处理这些东西?
我的项目涉及通过远程主机模拟块设备.
为了测试我正在使用FUSE,我的文件系统是对"hello"示例应用程序的简单更改,而不是返回常量字符串,我只是直接从文件中读取数据.
当我尝试正常挂载文件时(mount -o loop =/dev/loop1),它运行良好.当我加载保险丝并通过它公开此文件时,所有正常的文件操作都有效.但安装失败,"权限被拒绝".
任何人都知道"拒绝许可"的来源是什么?
任何其他方法都允许我在用户空间中创建一个可安装的虚拟设备(仅支持块访问)?
提前致谢
有没有比下面更好的方法来确定std :: istream的长度:
std::istream* pcStream = GetSomeStream();
pcStream->seekg(0, ios::end);
unsigned int uiLength = pcStream->tellg();
Run Code Online (Sandbox Code Playgroud)
只是寻求到流的末尾然后寻找原始位置似乎真的很浪费,特别是如果流可能是某些慢速媒体(如CD或DVD)上的文件.