我有一个包含 ICollection 样本的 IRecord。ICollection 看起来像这样:
Sample sample1 = scope.DbContext.Samples.AddNew(new Sample
{
Name = GenerateName("Sample one"),
Tests = tests
});
Sample sample2 = scope.DbContext.Samples.AddNew(new Sample
{
Name = GenerateName("Sample two"),
Tests = tests
});
ICollection<Sample> samples = new Collection<Sample>();
samples.Add(sample1);
samples.Add(sample2);
然后我将样本添加到记录中:
Order record = scope.DbContext.Orders.AddNew(new Order
{
Name = GenerateName("Order"),
Samples = samples
});
现在我想从记录中取出样品。我知道当我这样做时
object name = record["Name"];
我得到正确生成的名称。但是,当我这样做时
object propertyValue = record["Samples"];
它里面没有物品。我想做以下事情:
object propertyValue = record["Samples"];
if (typeof(IEnumerable<IRecord>).IsAssignableFrom(propertyValue.GetType()))
{
foreach (var property in (IEnumerable<IRecord>)propertyValue)
{
var test = property;
}
}
那么为什么 record["Samples"] 没有得到 ICollection 呢?