如何将多条Ado.net线映射到单个对象?

时间:2018-10-26 05:26:48

标签: sql-server asp.net-core ado.net

我有一些这样的桌子

TableATableB - many to many column
TableA - Can have many TableBs 
TableB - Can have many TableAs
TableC - TableB can have many TableCs and TableC can only have 1 tableB

现在通常我会使用EF内核,但是我必须并行执行一些工作,而ef似乎并不能很好地支持

//此崩溃

var foundTableBs = dbContext.TableATableB Include(x => x.TableB).ThenInclude(x => x.TableC).Where(x => x.TableAId == 1).Select(x => x.TableA).ToList();


Parallel.ForEach(foundTableBs , (tableB, loopState) =>
                {
                      if(tableB.TableCs.Any(){
}
                });

所以我要回到基本的ado.net,但是我想对ORM进行某种类型的映射,以便至少拥有这样的内容

public class TableB {
    public List<TableC> TableCs {get; set;}
}

TableA和TableATableB更适合于where子句,我对它返回的数据不那么感兴趣。

有没有一种简单的方法可以进行这种映射。

0 个答案:

没有答案