Загрузка дополнительных столбцов в коллекцию в памятиC#

Место общения программистов C#
Anonymous
Загрузка дополнительных столбцов в коллекцию в памяти

Сообщение Anonymous »

У меня есть список объектов, некоторые, но не все свойства которых заполнены из базы данных:

Код: Выделить всё

class Example
{
public int Id { get; set; }
public int A { get; set; }
public int B { get; set; }
public int C { get; set; }
}

// ...

var context = contextFactory.CreateDbContext();
var objects = context.Examples
.Select(e => new Example
{
Id = e.Id,
A = e.A
}).ToList();
Теперь я хочу загрузить в этот список дополнительные свойства. Каков наиболее эффективный способ заставить EF Core заполнить нужные мне данные?
На данный момент моя лучшая идея звучит примерно так:

Код: Выделить всё

var objectsDict = objects.ToDictionary(e => e.Id);
var context = contextFactory.CreateDbContext();

var newObjects = context.Examples
.Select(e => new Example
{
Id = e.Id,
A = objectsDict[e.Id].A,
B = e.B
}).ToList();
но я чувствую, что должен быть лучший способ. Если бы это был всего лишь один объект, я мог бы что-то сделать с помощью context.Entry, но я не знаю, как сделать это для более чем одного объекта, не совершая обход базы данных для каждого из них. Что мне здесь не хватает?
Возможно, это связано: загрузка коллекции EF Core .. коллекции

Вернуться в «C#»