我使用AutoMapper与Entity Framework Core进行组合,将我的实体映射到我的业务对象。将数据上下文中的对象保存到数据库时,集合的顺序会发生变化。我猜是因为外键关系。
是否有办法告诉EF Core保留订单?
现在为了保持顺序,我在表格中添加了另一个索引属性。如果这是要走的路,我想将代码放在自动化过程中的哪个位置?
编辑:
也许我的问题不明确。例如我有一个List,我需要将列表中的索引存储到数据库中。放置这种代码的地方在哪里?这样我就可以从业务对象中创建一个映射
public class MyObject
{
public List<MyChildObject> Children { get; set; }
}
public class MyChildObject
{
public string Name { get; set; }
}
public class MyEntity
{
public ICollection<MyChildEntity> Children { get; set; }
}
public class MyChildEntity
{
public string Name { get; set; }
public int Index { get; set; }
}
var myObject = Mapper.Map<MyObject>(myEntity);
// here my object should be exactly the same like before storing