FluentNHibernate和基元类型集合
我在使用(Fluent)NHibernate持久化基元类型集合时遇到问题 以下是实体和映射:FluentNHibernate和基元类型集合,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我在使用(Fluent)NHibernate持久化基元类型集合时遇到问题 以下是实体和映射: public class SomeOne { public virtual long ID { get; set; } public virtual string Name { get; set; } public virtual string Description { get; set; } public virtual Iesi.Collections.Generi
public class SomeOne
{
public virtual long ID { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual Iesi.Collections.Generic.ISet<string> Foo { get; protected set; }
public SomeOne()
{
Foo = new HashedSet<string>();
}
}
public SomeOneMap()
{
Id(x => x.ID).GeneratedBy.Identity();
Map(x => x.Name);
Map(x => x.Description);
HasMany(x => x.Foo).Element("Code").AsSet().Not.Inverse();
Table("SomeTypeOne");
}
你知道会出什么问题吗?
谢谢
更新
这里是db模式。它是由NH生成的。有两种方法可以确保您收集的数据被持久化
会话后保存(一个)代码>。这将导致NHibernate保留您的收藏。可以找到有关刷新的更多信息
using (var session = factory.OpenSession())
using (var transaction = session.BeginTransaction())
{
var one = new SomeOne();
one.Foo.Add("Dato");
one.Foo.Add("Mari");
session.Save(one);
transaction.Commit();
}
using (var session = factory.OpenSession())
using (var transaction = session.BeginTransaction())
{
var one = new SomeOne();
one.Foo.Add("Dato");
one.Foo.Add("Mari");
session.Save(one);
transaction.Commit();
}