我有一个有一个集合的类,在我的nHibernate映射文件中映射为该类的一个包,我希望返回该类的所有实例,其集合中有一个或多个我传入的对象.
例:
我的父类称为DocumentDefinition.它有一个Roles集合,它是一个nHibernate实体,可以访问该文档.这两个通过多对多映射连接.我想将查询传递给角色集合,并返回所有传递了其中一个或多个角色的DocumentDefinition实例.
父类的映射,DocumentDefinition:
<bag name="AllowedRoles" table="Many-To-Many Table" lazy="false">
<key column="ParentDefinition" /> //Column from Many-To-Many Table
<many-to-many class="MyRolesClass" column="ParentRole" /> //Column from Many-To-Many Table
</bag>
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试过的例子:
Select distinct d from DocumentDefinition d, MyRolesClass r where r in :roles and r in elements(d.Group)
Run Code Online (Sandbox Code Playgroud)
角色是我希望传递的集合.
那么如何进行查询以返回DocumentDefinitions,其中r(Roles Class)在传入的参数列表和DocumentDefinition对象的集合中.
希望很清楚!干杯!
我正在尝试访问配置文件中的设置,这是一系列xml元素,如下所示:
<databases>
<database name="DatabaseOne" Value="[value]" />
<database name="DatabaseTwo" Value="[value]" />
</databases>
Run Code Online (Sandbox Code Playgroud)
现在我想访问它.我已经设置了这样的类:
Public Class DatabaseConfigurationHandler
Inherits ConfigurationSection
<ConfigurationProperty("Databases", IsDefaultCollection:=True)> _
Public ReadOnly Property Databases() As DatabaseCollection
Get
Return CType(Me("Databases"), DatabaseCollection)
End Get
End Property
End Class
Public Class DatabaseCollection
Inherits ConfigurationElementCollection
Protected Overloads Overrides Function CreateNewElement() As ConfigurationElement
Return (New Database())
End Function
Protected Overloads Overrides Function GetElementKey(ByVal element As ConfigurationElement) As Object
Return (CType(element, Database).DatabaseName)
End Function
End Class
Public Class Database
Inherits ConfigurationElement
<ConfigurationProperty("name", IsKey:=True, IsRequired:=True)> _
Public …Run Code Online (Sandbox Code Playgroud) 有没有人有任何链接到一个好的,简洁的,教程或.Net远程指南?将感激不尽!
谢谢(对不起,短信!)
编辑:我现在知道:http://www.codeproject.com/KB/XML/remotingsimpleeng.aspx
如果您使用jQuery之类的序列化表单,它通常会将JSON键和值映射到您要发布到的Controller Action上的对象的属性.所以:
jQuery的:
function PostForm() {
$.ajax({
url: "/Home/TestMVC",
type: "POST",
dataType: "application/JSON",
data: $('#form').serialize(),
complete: callFunction
}
});
Run Code Online (Sandbox Code Playgroud)
假定主要细节包含将参数名称作为键的元素,它们应直接映射到对象:
行动:
public void TestMVC(MyObject obj)
{
//Obj should now contain the data from the serialised form
}
Run Code Online (Sandbox Code Playgroud)
POST:
Name: "Bob"
Age: "999"
Sex: "Unknown"
Run Code Online (Sandbox Code Playgroud)
有谁知道这是如何工作的?每次我将表单和任何其他数据传递给控制器时它都会中断.
我想发送数据的内容以及可以包含任何数量和类型的键/值对的QueryString到控制器.我可以在服务器上提取这些键/值对,因为我无法在方法签名上为它们创建对象.但是,这不能按预期工作.
jQuery的:
function PostForm() {
$.ajax({
url: "/Home/TestMVC",
type: "POST",
dataType: "application/JSON",
data:
{
Obj: $('#form').serialize(),
TheWeirdQueryString: $('.additionalParams').serialize(),
}
});
};
Run Code Online (Sandbox Code Playgroud)
行动:
public void TestMVC(MyObject obj, String TheWeirdQueryString)
{
//Obj now does NOT …Run Code Online (Sandbox Code Playgroud) 请耐心等待,这很难解释,我不确定我是否使用了正确的术语.
我需要做一个相当复杂的选择.它实际上是一个select语句,它有条件地决定使用哪个字段来过滤select.如果某个日期字段不为null,我需要检查该字段中的值是否在某个范围内.否则,如果该date字段为null,我需要检查同一个表上的另一个字段int字段是否在一定范围内:
伪代码:
If [Date] is not null
Get sum (table.value) for rows Date >= dateValue and Date < dateValue
Else
Get sum (table.value) for rows Int >= intValue and Int < intValue
Run Code Online (Sandbox Code Playgroud)
我目前的尝试:
SELECT CASE WHEN a.Date IS NOT NULL THEN
(SUM(CASE WHEN (a.Date >= cal.Date) THEN ABS(a.Value) ELSE 0 END))
ELSE
(SUM(CASE WHEN (b.Days >= 0) THEN ABS(a.Value) ELSE 0 END)
END AS 'A'
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?询问您是否需要更多信息.提前致谢.
有没有人有关于如何使用ASP.Net MVC安装nUnit的任何建议/信息?我之前看到的帖子与预览版本有关,并且涉及到必须创建模板文件,运行命令提示符甚至混乱注册表的残忍噩梦.
显然这远非理想,并且鉴于微软打算允许任何测试框架我希望它在完整版本中是一个大大改进的过程.谷歌搜索似乎返回MVC处于预览阶段时的结果!这适用于Visual Studio 2008 Pro.
干杯:)
编辑:似乎可能不是: http ://msdn.microsoft.com/en-us/library/dd381614.aspx
编辑2 ::好的发现:http : //blogs.msdn.com/webdevtools/archive/2008/05/30/asp-net-mvc-preview-3-tooling-updates.aspx - 他们提供了一些模板,之后在添加新的MVC应用程序时,安装批处理文件似乎会显示在下拉列表中.但是它是为MVC的预览版设计的,所以它并不理想.再次,任何有更好建议的人请发帖:)
当你提出这个问题时,你会注意到问题的标题是在地址栏和你点击的链接到达这里.我不确定确切的术语如此难以搜索,但我怎么能做类似的事情呢?也就是说,如何将数据添加到纯粹用于显示/搜索引擎的地址栏.
谢谢
我在我的查询中尝试使用SQL 的DateAdd函数.问题是当我使用参数设置第二个争论时,数字参数我得到一个错误,这将说明如下:
无法将参数值从Decimal转换为DateTime
如果我输入无参数,即硬编码Int,它工作正常.
这有效:
SELECT FieldOne, DateField
FROM Table
WHERE (DateField> DATEADD(day, -10, GETDATE()))
Run Code Online (Sandbox Code Playgroud)
虽然这不是:
SELECT FieldOne, DateField
FROM Table
WHERE (DateField> DATEADD(day, @days, GETDATE()))
Run Code Online (Sandbox Code Playgroud)
其中@days = -10
什么想法我做错了什么?顺便说一句,我在SQL Server管理器中设置此变量,因为我正在尝试解决我的DataAccess代码中的错误.不确定这是否有所作为.
谢谢
使用CrystalImageHandler.aspx的图表和图像时,我遇到了Crystal Reports的问题.图像无法显示,我怀疑这是由于MVC路由问题.
路径图像路径类似于:
SRC = "/ CrystalImageHandler.aspx?动态图片= cr_tmp_image_a8301f51-26de-4869-be9f-c3c9ad9cc85e.png"
使用类似于此的URL:
本地主机:01234/ViewCrystalReports.aspx ID = 50?
可能无法找到图像,因为它正在查找不存在的目录.如何更改CrystalImageHandler.aspx所在的路径?我想如果我从根本引用问题就会解决,但是我在Web.Config中改变的任何东西都无法工作.
我应该提到这是在传统的aspx页面上,而不是视图等
因此,标题建议我希望创建一个新的dom元素(HTML是通过AJAX生成和检索的).我有点工作,但看起来很隐蔽,当我尝试淡入时,它会破碎!
function AddContent(Content) {
div = document.createElement(Content)
div.appendTo($("#contentAreas"));
// $(div).fadeIn("slow");
}
Run Code Online (Sandbox Code Playgroud)
它基本上将项目插入正确的位置,但不显示它.当我尝试淡入时,它没有这样做.没有错误.
有任何想法吗?
asp.net-mvc ×5
jquery ×2
.net ×1
ajax ×1
arguments ×1
asp.net ×1
controller ×1
dateadd ×1
dom ×1
elements ×1
hql ×1
intersection ×1
json ×1
nhibernate ×1
nunit ×1
parameters ×1
remoting ×1
routing ×1
select ×1
sql ×1
sql-server ×1
unit-testing ×1
vb.net ×1