У меня есть несколько сущностей, которые я хочу запросить с помощью LINQ:
public class Link: Entity, IAggregateRoot
{
public Guid RelationId { get; private set; }
public Guid ConstructionId { get; private set; }
public virtual Relation Relation { get; private set; }
public virtual Construction Construction { get; private set; }
private Link()
{
}
}
public class Relation: Entity, IAggregateRoot
{
public string Number { get; private set; }
public Guid PersonId { get; private set; }
public Guid RelationTypeId { get; private set; }
public virtual Person Person { get; private set; }
public virtual RelationType RelationType { get; private set; }
[NotMapped]
public int ContextKey { get; set; }
private Relation()
{
}
}
У меня есть запрос, который возвращает отношения, давая идентификатор конструкции и используя сущность Link.Запрос выглядит следующим образом, и он работает как ожидалось:
public IQueryable<Relation> GetRelationsByConstructionId(Guid constructionId)
{
var links base.Get(x => x.Construction.ConstructionId == constructionId);
var relations = links.Include(x => x.Relation)
.Select(x => x.Relation)
.Include(x => x.Person)
.Include(x => x.RelationType);
return relations;
}
В Relation у меня есть элемент ContextMey NotMapped, и я хочу установить этот ContextKey в вызове запроса (например, я хочу установить его на 30).В основном я хочу сделать что-то вроде этого, чтобы расширить используемый запрос:
public IQueryable<Relation> GetRelationsByConstructionId(Guid constructionId)
{
var links base.Get(x => x.Construction.ConstructionId == constructionId);
var relations = links.Include(x => x.Relation)
.Select(x => x.Relation)
.Include(x => x.Person)
.Include(x => x.RelationType);
var updatedRelations = relations.ForEachAsync(x => x.ContextKey = 30);
return updatedRelations;
}
Конечно, это не работает, потому что после ForEachAsync тип updatedRelations is Task , и ожидаемый тип возвращаемого значения должен быть IQueryable .
Как я могу заставить мой запрос работать и получать желаемый результат вправильный IQueryable <тип> тип?