小编num*_*ang的帖子

NHibernate:Criteria/SubCriteria Projection

我有一个类Mod,它有一个成员:

ICollection<Event> EventList
Run Code Online (Sandbox Code Playgroud)

类Event有一个成员:

public virtual EventType Type { get; set; }
Run Code Online (Sandbox Code Playgroud)

EvenType类有成员:

   public virtual int Id
Run Code Online (Sandbox Code Playgroud)

我想使用NHibernate Criteria获取Mod中所有事件的列表,其中id为1或2.我这样做了:

var subCriteria = DetachedCriteria.For<Mod>()
    .Add(Restrictions.In("Event.Type", new int[] {1, 2 })
    );
criteria.Add(Subqueries.Exists(subCriteria));
Run Code Online (Sandbox Code Playgroud)

但我得到一个运行时错误说不能在没有投影的条件下使用子查询.

所以,很好,但我不知道投影的内容.我可以找到如何进行预测的示例,但没有任何真正解释目的的内容.我尝试过各种各样的东西,但都会导致运行时错误:

消息:值不能为空.参数名称:key来源:mscorlib帮助链接:ParamName:key

我需要使用子查询,因为我会在这个工作时添加更多.

你能建议怎么做投影吗?

c# nhibernate

4
推荐指数
1
解决办法
6353
查看次数

命名空间不能直接包含AssemblyInfo.cs中的成员

我有如下文件AssemblyInfo.cs.我想为AssemblyVersion定义一个字符串:

string version = "1.2.0.0";  
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误说:

命名空间不能直接包含成员

我该怎么做呢?

using System.Reflection;
using System.Runtime.InteropServices;

// Setting ComVisible to false makes the types in this assembly not visible  to COM components
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("24f53cr8-552b-40d3-cds1-13e310ds6c3f")]

[assembly: AssemblyCopyright("1/10/2013")]

#if (DEVELOPMENT)
[assembly: AssemblyProduct("ShellDev")]
[assembly: AssemblyConfiguration("DEVELOPMENT")]
[assembly: AssemblyTitle("MMD Smart Client - Development Version")]
[assembly: AssemblyVersion("1.2.0.0")]
#endif

#if (RELEASE)
[assembly: AssemblyProduct("Shell")]
[assembly: AssemblyTitle("MMD Smart Client")]
[assembly: AssemblyVersion("1.2.0.0")] …
Run Code Online (Sandbox Code Playgroud)

c# build

3
推荐指数
1
解决办法
1696
查看次数

SQL:不显示重复项

我想不在下面的sql的输出中显示重复的行,所以我在那里有'distinct',但这不起作用.我输出如下:

PermitNumber PermitName CreatedOn  
111          ABCD       1/2/2011  
111          ABCD       3/4/2012  
222          DFES       3/6/2000  
Run Code Online (Sandbox Code Playgroud)

我想只有一行111,但我得到超过1行因为111有一个以上的修改,但我不在乎它是否有1或1000.

select  distinct (dbo.PermitNumber(mp.PermitId)), 
        dbo.PermitName(mp.PermitId),
    mod.[CreatedOn] as [CreatedOn]
from    tblPermit mp, dbo.[tblModification] mod
where mod.PermitId = mp.PermitId
order by 1
Run Code Online (Sandbox Code Playgroud)

使用SQL Server

sql sql-server

1
推荐指数
1
解决办法
3万
查看次数

标签 统计

c# ×2

build ×1

nhibernate ×1

sql ×1

sql-server ×1