C# NHibernate:IList<;字符串>;加载为字符串[]

C# NHibernate:IList<;字符串>;加载为字符串[],c#,arrays,list,nhibernate,mapping,C#,Arrays,List,Nhibernate,Mapping,NHibernate 4.0.4.4000 .NET 4.5.1 由于某些原因,我无法解释,NHibernate将实体的list属性作为字符串[]加载,而不是列表(或PersistentList或类似的内容) 我需要它是一个列表,这样我就可以在列表上调用Clear() 问题: 如何强制NHibernate将列表加载为列表而不是字符串[]-array 实体: 公共类ProductionOrderViewModelResourceLine:AggregateReadModel { ... 虚拟公共I

NHibernate 4.0.4.4000
.NET 4.5.1

由于某些原因,我无法解释,NHibernate将实体的list属性作为
字符串[]
加载,而不是
列表
(或
PersistentList
或类似的内容)

我需要它是一个
列表
,这样我就可以在列表上调用
Clear()

问题: 如何强制NHibernate将列表加载为列表而不是
字符串[]
-array

实体:

公共类ProductionOrderViewModelResourceLine:AggregateReadModel
{
...
虚拟公共IList differentials{get;set;}
...
受保护产品OrderViewModelResourceLine()
:base(空)
{
...
this.differentics=新列表();
}
公共产品OrderViewModelResourceLine(
...
)
:base(聚合ID)
{
...
this.differentics=新列表();
}
}
FluentNHibernate映射覆盖:

公共类ProductionOrderViewModelResourceLineMapping:IAAutoMappingOverride
{
公共无效替代(自动映射)
{
mapping.HasMany(x=>x.differentialsids)
.KeyColumn(“ProductionOrderViewModelResourceId”)
.Table(“ProductionOrderViewModelResourceLineDifferentialIds”).Element(“DifferentialsID”)
.Not.Inverse()
.Cascade.alldelete孤儿()
.AsList()
.Not.ReadOnly()
.Access.BackingField();
}
}

...
...

string[]实现IList()。使用ICollection而不是IList。感谢您的提示,但不幸的是它仍然是
string[]
。。。