尝试在NHibernate 2.1.2.4000中使用IInterceptor我有以下测试代码:
public class TestingNHibernateInterceptors
{
[Fact]
public void can_intercept_delete_for_audit_log()
{
FullyConfigureDb();
Session(s => s.Linq<Person>().Any().ShouldBe(false));
}
ISessionFactory _sessions;
void Session(Action<ISession> @do)
{
using (var s = _sessions.OpenSession())
{
@do(s);
s.Flush();
}
}
void FullyConfigureDb()
{
var cfg = CreateConfig();
_sessions = cfg.BuildSessionFactory();
BuildSchema(cfg);
}
Configuration CreateConfig()
{
return Fluently.Configure()
.Database(new SQLiteConfiguration().InMemory())
.Mappings(x => x.FluentMappings.Add<PersonMap>())
.BuildConfiguration()
.SetProperty("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle")
.SetProperty("show_sql", "true");
}
void BuildSchema(Configuration config)
{
var se = new NHibernate.Tool.hbm2ddl.SchemaExport(config);
se.Execute(false, true, false, _sessions.OpenSession().Connection, null);
}
public class Person
{ …Run Code Online (Sandbox Code Playgroud) 我试图从这个链接安装一个名为ei的软件包.通过安装GCC,r-base-dev和其他一些R包依赖项,它在我的Ubuntu Linux系统中运行良好.
现在我尝试在Windows 7环境中安装相同的内容.到目前为止,我的设置如下,
有了这个设置,
将软件包安装到'C:\ Users\username\Documents/R/win-library/2.12'中(因为'lib'未指定)警告消息:在getDependencies(pkgs,dependencies,available,lib)中:package'ei '不可用
之后我决定尝试从本地zip文件安装它,所以我按照以下方式进行,
它显示以下错误消息,
C:\ Users\username\Documents> R COM INSTALL ei'R'不被识别为内部或外部命令,可操作程序或批处理文件.
我不知道现在该怎么办.有人帮忙吗?
注意:我可以从CRAN repos安装软件包.
_ RB
是否可以在QRC文件中包含平台部分,就像我们可以使用QT .Pro文件一样?(例如macx,win32等)
我想知道我是否可以将mac,windows,linux特定资源分成QRC文件本身的部分,或者为每个平台分配三个QRC文件,并从引用它们的.pro文件中执行平台条件部分.
CodeDom可以在生成ac#方法时创建可选参数并提供默认值吗?
例如:
public void ExampleMethod(int required
, string optionalstr = "default string"
, int optionalint = 10)
Run Code Online (Sandbox Code Playgroud)
解决方案 我找到了一个简单的解决方法,您可以将默认值作为参数名称的一部分:
CodeParameterDeclarationExpression(typeof(int), "optionalint = 5");
Run Code Online (Sandbox Code Playgroud)
这适用于我b/c我只使用CodeDom来生成C#代码.如果您需要支持多种语言,它将无法工作.
我有一个仅限肖像模式的应用程序,但是当用户播放视频时,我希望它以全屏横向模式播放(视频播放器在纵向模式下看起来不太好).我这样玩:
[self.view addSubview:myMoviePlayer.view];
[self.myMoviePlayer setFullscreen:YES animated:YES];
[self.myMoviePlayer play];
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?
我在为多行匹配编译正确的正则表达式时遇到问题.有人能指出我做错了什么.我循环遍历一个基本的dhcpd.conf文件,其中有数百个条目,例如:
host node20007
{
hardware ethernet 00:22:38:8f:1f:43;
fixed-address node20007.domain.com;
}
Run Code Online (Sandbox Code Playgroud)
我已经获得了各种正则表达式来处理MAC和固定地址,但无法将它们组合起来以便正确匹配.
f = open('/etc/dhcp3/dhcpd.conf', 'r')
re_hostinfo = re.compile(r'(hardware ethernet (.*))\;(?:\n|\r|\r\n?)(.*)',re.MULTILINE)
for host in f:
match = re_hostinfo.search(host)
if match:
print match.groups()
Run Code Online (Sandbox Code Playgroud)
目前我的匹配组将如下所示:(
'hardware ethernet 00:22:38:8f:1f:43','00:22:38:8f:1f:43','')
但寻找类似的东西:(
'硬件以太网00:22:38:8f:1f:43','00:22:38:8f:1f:43','node20007.domain.com')
我有这个HTML:
<div id="tags">
<ul>
<li><input type="text" /><a href="#">First Link</a> <a href="#">Second Link</a></li>
<li><input type="text" /><a href="#">First Link</a> <a href="#">Second Link</a></li>
<li><input type="text" /><a href="#">First Link</a> <a href="#">Second Link</a></li>
<li><input type="text" /><a href="#">First Link</a> <a href="#">Second Link</a></li>
<li><input type="text" /><a href="#">First Link</a> <a href="#">Second Link</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我将使用什么选择器来捕获每个li元素的第一个锚点,以及每个li的第二个锚点如何不添加任何额外的id或类?
好吧,我试过这个:
$('#tags a:last-child')
Run Code Online (Sandbox Code Playgroud)
而且我能够得到每个李的第二个锚点,但我不明白为什么会这样.一个元素不需要在锚点内部来选择一些东西,但它能够选择每个li的第二个锚点.后来我不在乎它是如何工作的,只要它有效,所以我想我会做同样的事情来得到第一个元素:
$('#tags a:first-child')
Run Code Online (Sandbox Code Playgroud)
然而,这并不适用于获得每个李的第一个锚点.有任何想法吗?
编辑: 所以我想我做得对,但它没有工作,因为我有一个输入文本框,似乎使它无法正常工作.一旦输入框存在,为什么它不再起作用?
我已经开始阅读有关Common Table Expression的内容,并且无法想到我需要使用它们的用例.它们似乎是多余的,因为派生表可以做到这一点.有什么我缺少或不理解?有人能给我一个简单的限制例子,通过常规的select,derived或temp表查询来说明CTE的情况吗?任何简单的例子都将受到高度赞赏.
我想在C#中使用WebClient对象下载一些东西,但是下载域要求我登录.如何使用WebClient登录并保存会话数据?我知道如何使用WebClient发布数据.
如果我在指定的地方需要一些字母/数字,如何有效地生成一个数字的排列(或单词中的字符)?
例如,从头开始在第二位生成数字3的所有数字,从数字末尾开始在第二位生成数字1.数字中的每个数字必须是唯一的,您只能从数字1-5中选择.
4 3 2 1 5
4 3 5 1 2
2 3 4 1 5
2 3 5 1 4
5 3 2 1 4
5 3 4 1 2
Run Code Online (Sandbox Code Playgroud)
我知道有一个next_permutation函数,所以我可以准备一个数字为{4,2,5}的数组并将其循环发布到这个函数,但是如何处理固定位置?