Dav*_*ita 4 .net c# nhibernate fluent-nhibernate fluent-nhibernate-mapping
我有一个非常简单的对象模型.
public class Contact
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual Device Device { get; set; }
public virtual IList<string> Numbers { get; set; }
public Contact()
{
Numbers = new System.Collections.Generic.List<string>(3);
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,Contact类与Numbers有关联,Numbers是一个字符串列表.
这是映射:
Id(x => x.Id).GeneratedBy.Assigned();
Map(x => x.Name);
References(x => x.Device, "DeviceId");
Table("Contacts");
HasMany(x => x.Numbers)
.Table("ContactNumbers")
.Element("Number")
.KeyColumn("ContactId")
.LazyLoad()
.Cascade.All()
.Not
.Inverse();
Run Code Online (Sandbox Code Playgroud)
请注意,我不能也不希望该集合是inverse = true,因为它只是字符串的集合.这意味着Contact负责更新Numbers条目.现在我的问题是,每当我尝试向现有联系人添加新号码时,它会删除所有相关联的号码并单独重新创建.NHibernate不够智能,无法检测更改并仅更新已更改的项目吗?
我认为我的问题应该有一个简单的解决方案,但不知道是什么.
任何帮助,将不胜感激.
| 归档时间: |
|
| 查看次数: |
572 次 |
| 最近记录: |