如何在具有多个子查询的hibernate中编写子查询.例如
select * from project_dtls where project_id in
(select project_id from project_users where user_id =
(select user_id from user_dtls where email='abc@email.com'))
Run Code Online (Sandbox Code Playgroud)
我知道我们可以通过DetachedCriteria编写,但找不到任何可以使用多个子查询的示例.
在为我正在处理的项目设置一些引用类型属性时,我遇到了一些需要正确初始化才能使用的属性,并且永远不应为null.我已经看到了一些方法来处理这个问题,并且无法确定我看到处理这个问题的主要方法是否存在任何重大缺陷.我想得到社群对处理这个问题的最佳方法的看法,以及每种方法可能存在的缺点.
给定一个简单的类,我已经看到了几种方法来确保属性永远不会在属性中具有此类的null版本
public class MyClass
{
//Some collection of code
}
Run Code Online (Sandbox Code Playgroud)
选项1 - 初始化后备存储
public class OtherClass1
{
private MyClass _mC = new MyClass();
public MyClass MC
{
get { return _mC; }
set { _mC = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
选项2 - 在构造函数中初始化属性
public class OtherClass2
{
public MyClass MC { get; set; }
public OtherClass2()
{
MC = new MyClass();
}
}
Run Code Online (Sandbox Code Playgroud)
选项3 - 根据需要处理Getter中的初始化
public class OtherClass3
{
private MyClass _mC;
public MyClass MC
{
get
{ …Run Code Online (Sandbox Code Playgroud) 据我所知,当我们使用MVP时,我们将所有表示逻辑移动到Presenter.但我们不想让Presenter了解视图实现,那么我们如何导航到应用程序中的另一个屏幕呢?您如何管理实际应用程序的应用程序流程?
我希望.NET中的文本框"发光"为黄色,然后"淡化"为白色(基本上,通过逐步增加亮度).我认为Stackoverflow会在您发布答案后执行此操作.我知道增加亮度并不是那么简单(它不仅仅是均匀地增加/减少RGB),但我不知道如何做到这一点.
完美的色彩准确性对此并不重要.我正在使用C#,虽然VB的例子也很好.
编辑:这适用于Winforms.
Microsoft WinAPI文档似乎表明user32.dll包含一个被调用的函数GetNextWindow(),该函数允许通过重复调用此函数来枚举其Z顺序中的打开窗口.
Pinvoke通常给我一个必要的DllImport声明来使用C#中的WinAPI函数.但是,因为GetNextWindow()它没有条目.所以我试着构建自己的:
[DllImport("user32.dll")]
static extern IntPtr GetNextWindow(IntPtr hWnd, uint wCmd);
Run Code Online (Sandbox Code Playgroud)
不幸的是,当试图打电话给我时,我得到一个EntryPointNotFoundException说法:
Unable to find an entry point named 'GetNextWindow' in DLL 'user32.dll'.
Run Code Online (Sandbox Code Playgroud)
这似乎只适用于GetNextWindow(); Pinvoke上列出的其他功能都很好.我可以打电话GetTopWindow()而GetWindowText()不会抛出异常.
当然,如果您可以建议一种完全不同的方式来枚举当前Z顺序中的窗口,我也很高兴听到这一点.
我添加了一个SplitContainer,在两个窗格之间有一个水平条.我可以添加内容,并上下移动栏以调整容器的大小,但栏本身是不可见的.我希望我的应用程序的用户看到这两个区域之间的可见分割.我怎样才能做到这一点?
有什么方法可以PropertyInfo从吸气剂中获取物业吗?像这样:
public object Foo
{
get
{
PropertyInfo propertyInfoForFoo = xxx;
...
}
}
Run Code Online (Sandbox Code Playgroud)
我想避免将属性的名称硬编码为字符串,因为维护起来很棘手.
我正在使用.NET 2.0,所以我希望能够使用无linq的解决方案.
我试图在消息框中显示listBox1的选定项目,这里是代码:
int index;
string item;
foreach (int i in listBox1 .SelectedIndices )
{
index = listBox1.SelectedIndex;
item = listBox1.Items[index].ToString ();
groupids = item;
MessageBox.Show(groupids);
}
Run Code Online (Sandbox Code Playgroud)
问题是当我选择多个项目时,消息框显示我选择的第一个并重复消息EX:如果我选择了3个项目,则消息将在第一个项目中出现3次
我有一个正常工作的应用程序,直到我继续使用Dot net framework 4.现在每当我安装并打开我的应用程序时,它会崩溃,并显示以下错误消息.
Problem signature:
Problem Event Name: APPCRASH
Application Name: Myapplication.exe
Application Version: 8.0.18428.531
Application Timestamp: 50dc3ecf
Fault Module Name: clr.dll
Fault Module Version: 4.0.30319.1
Fault Module Timestamp: 4ba21eeb
Exception Code: c00000fd
Exception Offset: 000000000010791f
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: 4598
Additional Information 2: 45986a8b8021cca3bd025450731a9c6a
Additional Information 3: e90e
Additional Information 4: e90e0a2cf591d6675172685f07f0ec36
Run Code Online (Sandbox Code Playgroud)
我做了一些谷歌搜索,发现我们不是唯一一个面临这个问题的人.然后我发现这个链接 http://support.microsoft.com/kb/2640103 ,它告诉Dot net framework 4的问题,并建议安装一个解决此问题的修补程序.问题是?我无法弄清楚从哪里得到他们正在谈论的修补程序.
有人建议这个链接的修补程序 https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=29638
我下载并安装它但仍然出现相同的错误.我安装了正确的修补程序.请指导我.
c# ×8
winforms ×4
.net ×3
properties ×2
colors ×1
hibernate ×1
ice ×1
mvp ×1
propertyinfo ×1
reflection ×1
subquery ×1
winapi ×1
windows ×1