我们在服务器端使用NHibernate作为我们的ORM.
有时,只需要给定该对象的类型和ID,就需要从数据库中删除一个对象.此外,之前未获取已删除的对象(因此它不在会话缓存中或其他任何内容中).
无论如何,我正在使用ISession.Delete(query)重载,其中查询是微不足道的from Dummy where Id=5.
我的问题是为什么NHibernate在删除它之前获取对象?据我所知,我正在支付服务器的双往返费用,直观地应该只进行一次往返.
有没有办法通过NHibernate的类型和ID从数据库中删除对象,这样只需要一次往返?
我有一个Library1.dll包含一些接口的程序集,它们被序列化为数据库中的字节数组.出于某些原因,我们必须更改接口属性和定义.所以现在我正在编写一个迁移实用程序.所以我有2个版本Library1.dll,在我的实用程序中,我创建了一个文件夹,我存储了新版本Library1.dll.这个实用程序反过来也引用Library1.dllbin文件夹包含Library1.dll但是这个dll是在旧版本上编译的.我的新版本Library1.dll存储在一个私有路径中,我传递给Assembly.ReflectionOnlyLoadFrom函数实例化,因此GetTypes在加载的程序集上进一步使我能够进行数据转换.
但是ReflectionTypeLoadException当我试图Library1.dll从私人路径加载时我总是得到.
请帮帮忙!!! 任何帮助,将不胜感激.我真的被卡住了.
谢谢,AG
我需要定期使用新值更新我的UI(网页).我有PHP代码从数据库中获取值,但我不能100%确定将数据传递到UI端的最佳方法.
这里的复杂性是:1.我需要不断更新值(每秒)2.我需要独立更新页面的许多不同区域
谢谢,
我有一个ListView,允许用户长按项目以获取上下文菜单.我遇到的问题是确定ListItem他们长期压迫的问题.我试过这样做:
myListView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override public void onCreateContextMenu(ContextMenu menu, final View v, ContextMenuInfo menuInfo) {
menu.add("Make Toast")
.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override public boolean onMenuItemClick(MenuItem item) {
String toastText = "You clicked position " + ((ListView)v).getSelectedItemPosition();
Toast.makeText(DisplayScheduleActivity.this, toastText, Toast.LENGTH_SHORT).show();
return true;
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
但它只是挂起,直到ANR弹出.我怀疑创建菜单后ListItem不再选择.
看起来您可以监控点击或长按,然后在那里记录点击的项目:
mArrivalsList.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
// record position/id/whatever here
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
但这对我来说感觉很重要.有没有人有更好的解决方案呢?
我正在尝试将文本文件读入R中,因此我可以使用sqldf函数.我正在关注这个例子,https://stat.ethz.ch/pipermail/r-help/2008-January/152040.html,但我有一个文本文件,其中包含我的数据,而不是粘贴的数据,因为示例有它.我的文本文件如下:
#"test.table.1.0" file has this contents:
id Source
1 A10
2 A32
3 A10
4 A25
Run Code Online (Sandbox Code Playgroud)
我按照这个例子尝试了这个
test_table <- read.table(textConnection("test.table.1.0"))
Run Code Online (Sandbox Code Playgroud)
我可以看到问题是textConnection应该采用一个字符向量,我给它一个data.frame,但是通过as.character转换它也会失败.最终,我想运行这样的查询:
sqldf("select test_table.source from test_table");
Run Code Online (Sandbox Code Playgroud) 我从这篇文章中学习了如何在ScrollViewer中缩放元素之后显示ScrollViewer的滚动条:http://www.eightyeightpercentnerd.dreamhosters.com/?p = 92
现在,我正在尝试将缩放对象(在这种情况下为画布)在ScrollViewer中正确居中.我将让图像在这里讲述我的故事(请在Screencast.com清除我的文件之前帮助我).;
我的XAML:
<ScrollViewer x:Name="ScrollViewer" VerticalAlignment="Top"
VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
Width="300" Height="300" Margin="0" Padding="0" Background="White">
<Canvas x:Name="DesignSurface" Background="Red">
<Canvas x:Name="Surface" Background="Blue" Height="100" Width="100">
<Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform x:Name="SurfaceScaleTransform" />
</TransformGroup>
</Canvas.RenderTransform>
<!-- ... -->
</Canvas>
</Canvas>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
在初始加载时,我的蓝色画布居中并且为100%:

减少50%后,蓝色画布仍然居中:

增加400%并滚动显示蓝色画布的左上角:

增加400%并滚动显示蓝色画布的右下角:

所以我的问题是如何让蓝色画布在ScrollViewer或红色画布中正确居中?
我正在从Oracle数据库中提取日期.它们设置在java.util.Date字段上,它们实际上是java.sql.Timestamp实例(它是Java.util.Date的子类).如果我通过在第一个日期调用after()并将它与第二个日期进行比较来比较两个不同数据库记录中的两个时间戳,那么当日期的所有部分除了毫秒之外的所有部分都相同时,我得到错误的答案.
所有以下内容都应该导致"true",但第二组数字不会:
firstDate = 1/1/2000 12:00:20:00
secondDate = 1/1/2000 12:00:10:00
result = firstDate.after(secondDate);
result is TRUE <-- EXPECTED RESULT
firstDate = 1/1/2000 12:00:00:10
secondDate = 1/1/2000 12:00:00:00
result = firstDate.after(secondDate);
result is FALSE <-- NOT EXPECTED, result should be TRUE
Run Code Online (Sandbox Code Playgroud)
我知道nanos与Timestamp类中的Date实例分开存储,我很好奇这是否是问题.
我在VS2008中有一个ASP.NET应用程序,它正在变大,我正在开发和测试IIS7,而不是Cassini/IIS dev,所以当我进行更改时,我会发布,运行和测试.
由于解决方案中不同项目的构建越来越多,因此发布时间越来越长.如果我想做一个简单的更改来说一个aspx文件,而不是发布,我只是修改发布的版本,以避免发布的成本,这是一个痛苦.
有更好/更快的方式吗?有什么东西可以讨论VS2008的最佳实践/高效的发布/运行/测试技术吗?
这个问题几乎总结了一下."dtrace'打印一个关联数组'"只有一个谷歌命中,类似的搜索同样没用.
编辑:
如果我要使用聚合,我不知道我仍然可以删除条目.我的申请要求我能够做以下事情:
file_descriptors[0] = "stdin"
file_descriptors[3] = "service.log"
...
...
file_descriptors[3] = 0
...
...
print_array(file_descriptors) # should print only those entries that have not been cleared.
Run Code Online (Sandbox Code Playgroud)
我知道您可以清除整个聚合,但是单个条目呢?
更新:
由于我在OS X中执行此操作并且我的应用程序是跟踪特定进程已打开的所有文件描述符,因此我能够拥有256个路径名的数组,因此:
syscall::open*:entry
/execname == $1/
{
self->path = copyinstr(arg0);
}
syscall::open*:return
/execname == $1/
{
opened[arg0] = self->path;
}
syscall::close*:entry
/execname == $1/
{
opened[arg0] = 0;
}
tick-10sec
{
printf(" 0: %s\n", opened[0]);
}
The above probe repeated 255 more times...
Run Code Online (Sandbox Code Playgroud)
太糟糕了.我真的想要有更好的东西.
我在Windows Server 2003上使用Microsoft.SharePoint对象模型VS WSS扩展创建了一个C#控制台应用程序.该应用程序应该迭代WSS3.0站点以查找所有可用列表.它在服务器上运行得很好.但是,如果我尝试从网络上的另一台计算机运行exe,应用程序立即崩溃在SPSite siteCollection = new SPSite(" http:// devsharepoint);甚至我的try和catch也没有帮助,因为catch没有被执行.
是否仅在安装了VS SharePoint扩展的计算机上运行Sharepoint对象模型应用程序?
这是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
namespace ConsoleApplicationWSSobjectModel
{
class Program
{
static void Main(string[] args)
{
string url = "http://sharepoint";
Console.WriteLine("Trying to access: " + url);
try
{
SPSite siteCollection = new SPSite(url);//"http://Server_Name");
SPWebCollection sites = siteCollection.AllWebs;
foreach (SPWeb site in sites)
{
SPListCollection lists = site.Lists;
Console.WriteLine("Site: " + site.Name + " Lists: " + lists.Count.ToString());
}
Console.WriteLine("Press ENTER to …Run Code Online (Sandbox Code Playgroud) ajax ×1
android ×1
arrays ×1
asp.net ×1
associative ×1
c# ×1
contextmenu ×1
dtrace ×1
java ×1
javascript ×1
listview ×1
nhibernate ×1
oracle ×1
php ×1
printing ×1
r ×1
reflection ×1
remoting ×1
sharepoint ×1
silverlight ×1
time ×1