免责声明:我是一名NHibernate noobie,所以希望这个问题有道理.我有两个类之间的多对多关系,比如......
public class Entity1
{
public virtual Guid EntityId { get; set; }
public virtual IList<Entity2> Entity2List;
}
Public class Entity2
{
public virtual Guid EntityId { get; set; }
public virtual IList<Entity1> Entity1List;
}
Run Code Online (Sandbox Code Playgroud)
我在两个类映射中都添加了一个多对多关系,定义了一个关联表但不确定要使用哪个级联选项.我希望能够创建一个新的Entity1实例,将新的Entity2实例添加到它的列表中,调用Save,并将两者都插入到数据库中(反之亦然).删除实体时,它应删除与子实体的任何关联,但不删除子实体本身.我应该使用cascade ="save-update"吗?
我有以下场景,我想在列表中添加一些项目...
List<T> items = new List<T>();
IEnumerable<T> addItems = someCollection.Where(...);
items.AddRange(addItems);
Run Code Online (Sandbox Code Playgroud)
使用此代码,列表中不会添加任何项目,但如果我在Linq语句之后添加.ToList(),则会正确添加项目.我想这是由于延迟执行,但我想如果List.AddRange函数接受一个IEnumerable,它将枚举要添加的项目.
有人可以清楚为什么会这样吗?
我目前正在使用以下代码注册WCF服务:
var factory = new DefaultServiceHostFactory();
RouteTable.Routes.Add(new ServiceRoute("XXXEndPoint", factory, IXXXEndPoint)));
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但我还需要更改阅读器配额设置的MaxStringContentLength属性.似乎使用默认值8192,无论我是否尝试更改此设置,我想这是来自DefaultServiceModel?
是否有任何合适的钩子来覆盖DefaultServiceModel上的这个设置,或者我应该派生自己的服务主机/模型类,还是我以错误的方式解决这个问题?
任何建议赞赏.
编辑:请注意,绑定的配置必须以编程方式执行(而不是通过配置文件).
谢谢
我有一个相当普遍的QueryOver查询,包含以下内容,
.SelectList(list => list
.SelectGroup(() => txn.GroupField)
.SelectGroup(() => txn.Date))
.List<object[]>()
Run Code Online (Sandbox Code Playgroud)
此查询按预期工作,但我现在需要按截断日期进行分组,因为这些对象的某些日期可能包含时间组件.这似乎应该是一个微不足道的变化,但我找不到NHibernate支持的方式.
显而易见的解决方案是下面的更改,但不支持.
.SelectGroup(() => txn.Date.Date))
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢
我确信这个话题之前一定已经被覆盖了,所以我很高兴能指出我在搜索时可能遗漏的任何文章等。
我需要实现一个非常简单的 REST API 来添加和检索主/明细关系中的记录。我的两个选项如下:
选项1
POST /master
POST /master/[id]/details
GET /master/[id]
GET /master/[id]/details
Run Code Online (Sandbox Code Playgroud)
优点
缺点
选项 2
POST /master_and_details
GET /master_and_details/[master id]
Run Code Online (Sandbox Code Playgroud)
优点
缺点
谢谢,约翰
c# ×2
nhibernate ×2
addrange ×1
datetime ×1
deferred ×1
get ×1
group-by ×1
ienumerable ×1
list ×1
post ×1
queryover ×1
rest ×1
routetable ×1
truncate ×1
wcf ×1