У меня есть объект LINQ, для которого мне нужно создать специальное строковое значение. Это 7 разных значений, разделенных "-". Некоторые из используемых полей находятся в этой таблице, в то время как некоторые из них находятся в разных таблицах. Я хотел бы как-то добавить это поле к сущности, чтобы мне не приходилось создавать эту строку каждый раз, когда мне это нужно.
Я думал, что могу добавить его к сущности с частичным классом, подобным этому:
public string SpecialField
{
get
{
return string.Format("{0}-{1}-{2}-{3}-{4}-{5}-{6}",
TableId,
Number,
ForeignTableA.Date,
ForeignTableB.Name,
ForeignTableC.ForeignTableD.Name,
ForeignTableB.ForeignTableE.Name,
ForeignTableB.Number ?? 0);
}
}
Однако, написав это, я стал немного неуверенным, как это будет работать. Потому что, если я не ошибаюсь, это приведет к запросу базы данных каждый раз, когда это значение используется для каждого элемента. И сработает ли, например, использование этого поля в предложении Where?
Мне нужно использовать это поле в предложении Where, и я бы хотел, чтобы это происходило на сервере, чтобы я не получал больше данных, чем мне нужно.
Как бы вы лучше всего это сделали?