我使用以下查询来获取客户端.客户端的公共ID类型为long.
var client = Session.CreateQuery("from Client as c where c.Id = :Id").SetParameter("Id", 1, NHibernateUtil.Int64).UniqueResult<Client>();
Run Code Online (Sandbox Code Playgroud)
得到错误:
NHibernate.TypeMismatchException:提供错误类型的id.预期:System.Int32,得到System.Int64
同时,以下工作正常.
var client = Session.Get<Client>(1L); //Or
var client = Session.CreateCriteria<Client>().Add(Restrictions.Eq("Id", 1L)).UniqueResult<Client>();
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我使用流利的nhibernate来创建映射.我已经针对Sqlite和MySql数据库测试了查询.结果相同.
Edit1:映射生成的模式显然是使用bigint作为mysql上的主键.这就是为什么我无法理解对Int32的期望?
Edit2:好的,我的Client类有一个Report对象的引用.它实际上是db中的一对一关系,报告表具有列clientID.Report类的id为int类型.一旦我将其类型更改为long,错误就消失了.
我的映射如下:
ClientMap:
HasOne<Report>(x => x.Report)
.PropertyRef(x => x.Client)
.LazyLoad()
.Cascade.SaveUpdate();
Run Code Online (Sandbox Code Playgroud)
ReportMap:
References(x => x.Client, "clientID").Unique();
Run Code Online (Sandbox Code Playgroud)
那么,为什么问题通过将reportid的类型从int更改为long来解决.其次,为什么在我没有要求时,它甚至还在费心去取报告呢?
我想记录在执行我的应用程序期间发生的异常.在此之前我用消息框处理它.我是VB 6的新手.
请提供一些示例代码来创建日志文件并保存异常消息.
谢谢..
我在使用WebBrowser控件导航到网站时遇到IE8兼容性问题.奇怪的是有时网站有效,但很可能不会.我有时可以刷新页面,也可以.
只是去IE8的页面我遇到了相同的CSS渲染问题所以我切换到兼容模式,它刷新并正确呈现.
有没有办法为WebBrowser控件模拟此效果.我希望能够像在Internet Explorer中一样,单击按钮并关闭和打开模式.
这可能吗?如果是这样,有人知道怎么做?
谢谢
css c# webbrowser-control internet-explorer-8 compatibility-mode
Primality Check可能是数学中"那些"难题之一.所以,什么是最好和最快的算法可用于检查大量的素数.最粗糙和最慢的方式可能是:
public static bool IsPrime(int i)
{
for (var x = 2; x < i - 1; i++)
{
if (i % x == 0)
{
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
最近我读到使用网格计算阵列使用暴力破解了768位RSA算法.他们如何在巨大的素数上执行蛮力?每个处理单元是否占用一系列数字,将其考虑在内并检查该范围内所有数字的素数?
我已经好几天了,我似乎无法弄明白.我想要做的就是当推送订阅按钮,发送变量(发送得到我不在乎)付款完成并登陆成功页面,我的变量!
从我可以收集到的,这应该能够做到:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="0000000">
<Input type="hidden" name="custom" value="<?php md5($code.microtime()); ?>"/>
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢(是的,我读过paypal和沙盒文档,只是不那么擅长阅读.)
我一直在网上寻找一段时间,但我还没有想出如何在Delphi中打印PDF文件而不显示文档本身或打印对话框.我只想在不显示文件的情况下打开文件,然后将其打印到默认打印机.
我正在尝试打印一批PDF文档,不需要用户干预.
使用SSL和Tomcat进入另一个问题:我已经配置了一个密钥库,其中包含密钥和证书(我希望向连接到该站点的客户端提供的服务器证书).我为信任库做了同样的事情(我将需要客户端身份验证).
我现在的问题是,当我连接到通过HTTPS我的Tomcat实例,介绍给我(服务器证书)证书不是我的实际服务器证书,而是重点在JKS密钥库.使用-Djavax.net.debug = ssl显示它为客户端身份验证提供了正确的CA,但没有提供正确的服务器证书.
adding as trusted cert: Subject: CN=A Issuer: CN=A Algorithm: RSA; Serial number: - Valid from Tue Nov 10 14:48:31 CET 2009 until Mon Feb 08 14:48:31 CET 2010 adding as trusted cert: Subject: X Issuer: X Algorithm: RSA; Serial number: - Valid from Wed Jan 19 01:00:00 CET 2005 until Mon Jan 19 00:59:59 CET 2015
我用占位符取代了真正的价值观.A =服务器的域名(但在这种情况下,由于某种原因,这是密钥而不是证书).X = VeriSign CA(这应该是正确的).我有一个现有的证书,我想用它来呈现给客户端,我使用keytool将其导入JKS密钥库.
Tomcat连接器配置:
Connector port="444" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/ssl/keystore.jks" keystorePass="xx" keyAlias="testkey" …
是否有任何Chess游戏API,纯粹用JavaScript编写?没有Flash!有谁知道国际象棋游戏中使用的算法(一般情况下)?
我正在使用Django并设置我的CharField(max_length = 255),即使我只打算使用大约5个字符.这效率不高吗?我已经读过它与varchar无关,但后来读到它会节省硬盘空间来仅指定你需要的东西.
如何构建一个以列表作为参数的用户控件,即:
<foo:TabMenu runat="server">
<Tabs>
<Tab Label="Tab1" PanelId="pnlTab1"/>
<Tab Label="Tab2" PanelId="pnlTab2"/>
<Tab Label="Tab3" PanelId="pnlTab3"/>
</Tabs>
</foo:TabMenu>
Run Code Online (Sandbox Code Playgroud)