我无法弄清楚如何(或者如果可能的话)使用Fluent NHibernate PersistenceSpecification<T>.CheckList(...)方法来检查逆一对多映射.
这是我正在尝试做的事情:
在vanilla博客/帖子示例中使用流畅的nhibernate,我已经定义了一对多的博客< - >帖子映射.我想要的一个限制是,帖子必须始终指向它对应的博客,从它添加到数据库的那一刻起.(基本上,Posts表中的BlogID列是非NULL)
出于这个原因,我定义了这样的映射:
public class BlogMap: ClassMap<Blog>
{
public BlogMap(){
[...]
HasMany(x => x.Posts)
.Inverse()
.Cascade.All();
}
Run Code Online (Sandbox Code Playgroud)
Blog类有一个AddPosts(IList<Post> posts)方法来处理映射的两个方面,因此当在数据库中插入Post实例时,他们的BlogID列已经填充了相应的博客ID.
到现在为止还挺好.
问题是,使用时
new PersistenceSpecification<Blog>(GetSession(), eq)
.CheckList(c => c.Posts,
new [] {new Post{Name = "Post 1"}, new Post{Name = "Post 2"}})
.VerifyTheMappings();
Run Code Online (Sandbox Code Playgroud)
在映射单元测试中,我得到了这个例外:
"System.ApplicationException:实际计数不等于预期计数"
...这是预期的,因为帖子的BlogID值没有设置在任何地方.我想知道我是否能以某种方式访问Blog由幕后创建的实例PersistenceSpecification,因此我可以在进行检查之前手动调用AddBlogs(...)方法.
如果我.Inverse()从映射中删除了(并且还删除了BlogID列的数据库NOT NULL约束),则测试通过.
有任何想法吗?
我正在创建一个自定义网站页面,动态更改当前页面,以便您可以看到正在更改的内容的预览.一切都运行得很好,除了我使用的代码显然无法处理伪类,如:hover和:visited.
代码很简单,我基本上做了以下几点:
$("#links td.active a:hover").css("color", "#ff0000");
Run Code Online (Sandbox Code Playgroud)
但是,这实际上并没有将<a>标记的悬停颜色设置为#ff0000.如果我脱掉它,它的工作正常:hover.有人建议如何使这个工作?
非常感谢!
编辑1:显然,我可能完全错了.更多信息显示我可以使用document.styleSheets.inlinestyle.rules它来修改它,虽然这显然只适用于IE.任何更多的想法将不胜感激.
我正在为Web服务设计API,我无法决定使用XML属性,元素还是混合体系结构.
让我举个例子.我们假设我有一个名为Domain的对象.该模型有3个属性(tld,sld,trd和name本身)和一种方法valid?,如果所访问的有效返回true.
# I'm using ruby but
# consider this as pseudo-code
class Domain
attr_accessor :tld, :sld, :trd, :name
def valid?
true # force true
end
end
Run Code Online (Sandbox Code Playgroud)
我的api调用/domain/parser在输入中获取一个域并返回解析后的响应.第一种可能性是为每个域属性使用一个元素.
<result>
<domain>
<name>www.google.it</name>
<tld>it</tld>
...
<valid>true</true>
</domain>
</result>
Run Code Online (Sandbox Code Playgroud)
但是有些接口使用属性.
<result>
<domain tld="it" sld="google.com" trd="www" rule="*.foo" name="www.google.it" valid="true" />
</result>
Run Code Online (Sandbox Code Playgroud)
不要忘记属性和价值.
<result>
<domain tld="it" sld="google.com" trd="www" rule="*.foo" name="www.google.it" valid="true">
www.google.it
</domain>
</result>
Run Code Online (Sandbox Code Playgroud)
在您看来,哪个更强大,更灵活,更富有表现力?另外,请考虑响应将以XML和JSON(很快)提供.
我想在当前页面的URL中获取哈希后的值,然后能够在新函数中应用它...例如.
URL可以是
www.example.com/index.html#foo
Run Code Online (Sandbox Code Playgroud)
我想结合下面的代码使用它
$('ul#foo:first').show();
Run Code Online (Sandbox Code Playgroud)
我有点假设/希望有一些方法可以抓住这个,并把它变成一个变量,然后我可以在第二段代码中使用它.
我刚刚创建了我的第一个VIM脚本,我是用Python编写的.这是一个从目录(/ vim/etc/colors)切换颜色方案的简单脚本.我想知道如何在使用所选颜色方案的名称将颜色方案更改为vim'statusline'之后发送通知.
rson给出了我的问题的答案,这里是一个更新(和调试)的脚本版本,感兴趣的人(尽我所能测试)
实施(有点)AI和Caleb的建议,谢谢!:
" toggleColorScheme 0.9 (l) 2009 by Jasper Poppe <jpoppe@ebay.com>
" cycle through colorschemes with F8 and Shift+F8
nnoremap <silent><F8> :call ToggleColorScheme("1")<CR>
nnoremap <silent><s-F8> :call ToggleColorScheme("-1")<CR>
" set directory with color schemes to cycle through
let g:Toggle_Color_Scheme_Path = "/etc/vim/colors"
function! ToggleColorScheme(paramater)
python << endpython
import vim
import os
paramater = (vim.eval('a:paramater'))
scheme_path = vim.eval('g:Toggle_Color_Scheme_Path')
colorschemes = [color.split('.')[0] for color in os.listdir(scheme_path) if color.endswith('.vim')]
colorschemes.sort()
if not vars().has_key('position'):
start_scheme = vim.eval('g:colors_name') + '.vim'
if start_scheme in colorschemes:
position …Run Code Online (Sandbox Code Playgroud) 我想从相同的代码库构建两个Android应用程序.应用程序之间的差异非常小 - 应用程序名称,一个或两个资源文件,以及是否显示广告(基本上是同一个应用程序的免费和付费版本).
对于iPhone应用程序,这在XCode中非常简单,但我不确定如何在Eclipse中处理它.有没有一种干净的方法,或者我应该完全忘记Eclipse并深入研究Ant脚本?
我正在创建一个应用程序(PHP),它从免费RSS源获取雅虎天气数据,并根据从RSS源检索到的数据将其与颜色十六进制相关联.我遇到的问题是找到一种方法来获取位置代码或WOEID,而无需手动执行.
只要您提供WOEID,Yahoos API就会发回RSS提要 - > http://weather.yahooapis.com/forecastrss?w=4097
这样做有道德的方法吗?我的初学者知识告诉我,我必须编写一个脚本,使用该术语搜索雅虎,并抓住第一个WOEID,但我会假设雅虎不希望脚本这样做,它似乎过于复杂......如果没有,有没有其他选择API会让我更容易吗?
谢谢!
我最近发现了jQuery,我可以立即看到它是多么有用和优雅.
不过我很好奇 - 有没有理由不使用它(而只是使用普通的旧JavaScript)?如果没有任何原因,是否应该将其完全集成到JavaScript语言中?
MSDN告诉我,在进程间通信(MSDN)中,32位和64位应用程序之间可以共享窗口句柄(HWND ).但是,在Win32中,HWND是32位,而在64位Windows中,它是64位.那么如何共享句柄呢?
我想同样的问题适用于命名对象的句柄,如互斥锁,信号量和文件句柄.