使用EF进行映射时的AutoMapper排序集合

时间:2018-03-08 16:44:53

标签: c# database automapper entity-framework-core ef-core-2.0

我使用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

0 个答案:

没有答案