Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用EF映射时自动映射排序集合_C#_Database_Automapper_Entity Framework Core_Ef Core 2.0 - Fatal编程技术网

C# 使用EF映射时自动映射排序集合

C# 使用EF映射时自动映射排序集合,c#,database,automapper,entity-framework-core,ef-core-2.0,C#,Database,Automapper,Entity Framework Core,Ef Core 2.0,我将使用AutoMapper与实体框架核心相结合,将实体映射到业务对象。将数据上下文中的对象保存到数据库时,集合的顺序会更改。我猜是因为外交关系 是否已经有办法告诉EF Core遵守订单 现在为了保持顺序,我在表中添加了另一个索引属性。如果这是我想去的方式在自动映射过程中把代码放在哪里 编辑: 也许我的问题不清楚。e、 我有一个列表,我需要将列表中的索引存储到数据库中。这种代码放在哪里?这样我就可以从业务对象创建一个映射 public class MyObject { public Li

我将使用AutoMapper与实体框架核心相结合,将实体映射到业务对象。将数据上下文中的对象保存到数据库时,集合的顺序会更改。我猜是因为外交关系

是否已经有办法告诉EF Core遵守订单

现在为了保持顺序,我在表中添加了另一个索引属性。如果这是我想去的方式在自动映射过程中把代码放在哪里

编辑:

也许我的问题不清楚。e、 我有一个列表,我需要将列表中的索引存储到数据库中。这种代码放在哪里?这样我就可以从业务对象创建一个映射

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
公共类MyObject
{
公共列表子项{get;set;}
}
公共类MyChildObject
{
公共字符串名称{get;set;}
}
公共类MyEntity
{
公共ICollection子项{get;set;}
}
公共类MyChildEntity
{
公共字符串名称{get;set;}
公共int索引{get;set;}
}
var myObject=Mapper.Map(myEntity);
//在这里,我的对象应该与存储之前完全相同

您可以使用
OrderBy
在查询中指定订单。这是推荐的方式吗?似乎我无法订购IQueryable。通过数据库中的定位索引包括。