[Linq2db, T4] Один тип, несколько view
От: Sinix  
Дата: 27.04.18 12:17
Оценка:
Linq2db 1.10.2, есть несколько view, которые возвращают одинаковые структуры данных, классы генерятся через штатный T4-шаблон.

Собственно вопрос: есть способ замапить несколько view на один и тот же тип шарпа?
С ходу нашёл только воркараунд с навешиванием интерфейса.
Re: [Linq2db, T4] Один тип, несколько view
От: Jack128  
Дата: 27.04.18 12:20
Оценка: 25 (1) +1
Здравствуйте, Sinix, Вы писали:


S>Linq2db 1.10.2, есть несколько view, которые возвращают одинаковые структуры данных, классы генерятся через штатный T4-шаблон.


S>Собственно вопрос: есть способ замапить несколько view на один и тот же тип шарпа?

S>С ходу нашёл только воркараунд с навешиванием интерфейса.

Хм, а как Linq2Db будет определять с какого View грузить данные?
Re[2]: [Linq2db, T4] Один тип, несколько view
От: Sinix  
Дата: 27.04.18 12:23
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Хм, а как Linq2Db будет определять с какого View грузить данные?


В порядке бреда: генерить наследников для заданного типа и навешивать атрибуты уже на них.
Ок, пока через интерфейсы извратимся.
Re[3]: [Linq2db, T4] Один тип, несколько view
От: Jack128  
Дата: 27.04.18 12:48
Оценка:
Здравствуйте, Sinix, Вы писали:

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


J>>Хм, а как Linq2Db будет определять с какого View грузить данные?


S>В порядке бреда: генерить наследников для заданного типа и навешивать атрибуты уже на них.


Ну если надо — генери, у тя ж tt в руках. BeforeGenerateModel, Tables, Model.Types тебе в руки. Я прям сходу не напишу код, давно шашку в руки не брал, но это точно возможно.
Re[4]: [Linq2db, T4] Один тип, несколько view
От: Sinix  
Дата: 27.04.18 13:02
Оценка:
Здравствуйте, Jack128, Вы писали:


J>Ну если надо — генери, у тя ж tt в руках. BeforeGenerateModel, Tables, Model.Types тебе в руки. Я прям сходу не напишу код, давно шашку в руки не брал, но это точно возможно.

Надо, но не настолько
Костыля с интерфейсом достаточно.
Re: [Linq2db, T4] Один тип, несколько view
От: Danchik Украина  
Дата: 29.04.18 09:50
Оценка: 50 (1) +1
Здравствуйте, Sinix, Вы писали:


S>Linq2db 1.10.2, есть несколько view, которые возвращают одинаковые структуры данных, классы генерятся через штатный T4-шаблон.


S>Собственно вопрос: есть способ замапить несколько view на один и тот же тип шарпа?

S>С ходу нашёл только воркараунд с навешиванием интерфейса.

Сделать дополнительные методы самому.

public IQueryable<ViewResult> GetView1(this IDataContext dc)
{
    return dc.GetTable<ViewResult>.TableName(“View1”);
}


Ну и частенько вьюшки просто не нужны, я их так и описываю через линк запрос. Query decomposition начинает свою работу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.