Вычисляемое свойство
От: Naf2000  
Дата: 17.10.21 19:13
Оценка:
Допустим в таблице есть строковые поля X, Y.
Сами по себе они не отображаются в свойства класса.
А хочется, чтобы в свойство MyValue объекта класса можно было передать значение некоторого выражения из них
например, описанного так:
Expression<Func<MyEntity,string>> expr = (e) => e.X+":"+e.Y;

Чтобы каждый раз не писать вручную:
.Select(t => new MyEntity(t.Id) {Value=t.X+":"+t.Y})

Ну вот как будто с этим выражением есть computed field соответствующее свойству поля.
Re: Вычисляемое свойство
От: Mace Windu  
Дата: 18.10.21 08:18
Оценка:
Здравствуйте, Naf2000, Вы писали:

https://github.com/linq2db/linq2db/discussions/3189
Re[2]: Вычисляемое свойство
От: Naf2000  
Дата: 18.10.21 09:49
Оценка:
Здравствуйте, Mace Windu, Вы писали:

MW>Здравствуйте, Naf2000, Вы писали:


MW>https://github.com/linq2db/linq2db/discussions/3189


Спасибо
Re: Вычисляемое свойство
От: Naf2000  
Дата: 07.11.21 11:13
Оценка:
Ситуация следующая
[Table("Parners")]
class Partner
{
    [Column(SkipOnEntityFetch=true)]
    public string Name {...}
    [ExpressionMethod(nameof(...),IsColumn=true)] //здесь выражение основано на Name
    public string Display {...}
}

само по себе оно работает, но вот уже вместе с Concat нет:
var query = DB.Partners.Concat(DB.Partners);

при получении данных ругается:

System.ArgumentOutOfRangeException: "Index was out of range. Must be non-negative and less than the size of the collection. Arg_ParamName_Name"

Отредактировано 07.11.2021 11:15 Naf2000 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.