Sta*_*t99 5 c# nhibernate nhibernate-mapping fluent-nhibernate
我的NHibernate实体中有以下内容:
private ICollection<string> _stringSet = new HashSet<string>();
public virtual ICollection<string> StringSet
{
get { return _stringSet; }
}
Run Code Online (Sandbox Code Playgroud)
然后,在我的Fluent映射中,我将其映射为:
HasMany(x => x.StringSet)
.Table("String_Set")
.Element("StringValue")
.AsSet();
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我尝试保存实体时,我得到一个ArgumentNullException说法"收集不能为空".如果我将我的字段默认为List,我不会收到此错误,但正如您在我的映射中所看到的,我想要Set行为,即使是来自未保存的实体.在我看来,HashSet<>没有实现非泛型的问题ICollection.为未保存的实体设置行为的正确方法是什么?我也希望保留ICollection<string>我的暴露类型.
啊哈.我以为我已经删除了所有Fluent惯例,但显然有一个集合约定将它设置为.AsBag().一旦删除约定,就会按预期工作,尽管.AsSet()似乎没有覆盖.AsBag()约定的错误(或至少是意外的行为).
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |