|
Динамический linq
|
|||
---|---|---|---|
#18+
как сделать чтобы выборку из таблицы делать динамически? обычно пишем например так Код: c# 1.
а хотелось бы чтобы таблица была переменной Код: c# 1. 2. 3. 4.
getfromtable это я придумал вымышленный метод ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 20:06 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Дядя Коля, обратившись к таблице по текстовому имени, не знаешь какой там тип, чтобы строить LINQ-запрос. невозможно написать такое условие Where(..). другими словами, как мне пойти взять то, не знаю что, но по известному направлению. никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 20:12 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Дядя Коляgetfromtable это я придумал вымышленный методперелогинься) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 21:22 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Дядя Колякак сделать чтобы выборку из таблицы делать динамически? обычно пишем например так Код: c# 1.
а хотелось бы чтобы таблица была переменной Код: c# 1. 2. 3. 4.
getfromtable это я придумал вымышленный метод Cделать динамическую фильтрацию к фиксированной таблице имеет смысл - куча примеров в ынтырнете. А вот делать "статическую" фильтрацию к непонятно какой таблице... (разве что по Id). Возможно, Вам требуется не "выборку из таблицы делать динамически", а что-то типа Repository<T>.Get(long id) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2018, 15:04 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
love_bachА вот делатьпро это и разговор. Чел пилит универсальную модель для всего на свете (коммунизм). Это утопия. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2018, 19:43 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
hVosttДядя Коля, обратившись к таблице по текстовому имени, не знаешь какой там тип, чтобы строить LINQ-запрос. невозможно написать такое условие Where(..). другими словами, как мне пойти взять то, не знаю что, но по известному направлению. никак. в этих таблицах будут гарантированные колонки типа id name, их достаточно ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2018, 12:02 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Дядя Коля, Linq без EF не имеет смысла. А ОРМ EF склейкой строк запроса и динамическим sql не занимается. В любой ветке по бд тебе скажут что диамическй sql это зло. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2018, 12:57 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Petro123Дядя Коля, Linq без EF не имеет смысла. А ОРМ EF склейкой строк запроса и динамическим sql не занимается. В любой ветке по бд тебе скажут что диамическй sql это зло. ну вот есть разные сущности и для них нужно сделать иерархию (связки родитель-сын) и если не использовать динамический то надо кучу кода дублировать, колонки дублировать, а динамически будет одна таблица связей, один код. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2018, 13:01 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Дядя Коля, Схема где? База должна быть не тупая. С pk, fk, cascade. Тогда и ОРМ работает. Если у вас эксель, то ССЗБ. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2018, 13:24 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Дядя Коляв этих таблицах будут гарантированные колонки типа id name, их достаточноВ чем проблема вынести этот id в базовый класс для всех бизнес-объектов? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2018, 10:41 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
oakenДядя Коляв этих таблицах будут гарантированные колонки типа id name, их достаточноВ чем проблема вынести этот id в базовый класс для всех бизнес-объектов? ну это отдельная таблица чтоли будет? в codefirst ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2018, 11:52 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
oakenДядя Коляв этих таблицах будут гарантированные колонки типа id name, их достаточноВ чем проблема вынести этот id в базовый класс для всех бизнес-объектов?в том что наследования в базе нету. Там нет ООП. Теоретически есть, но.... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2018, 12:51 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Petro123oakenпропущено... В чем проблема вынести этот id в базовый класс для всех бизнес-объектов?в том что наследования в базе нету. Там нет ООП. Теоретически есть, но.... И тем не менее - вынести id в базовый класс - нормальная тема. В базе нету наследования - оно там и не нужно. Он со своими объектами уже будет работать через базовый класс - и всё будет ок. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 00:32 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Дядя Коляoakenпропущено... В чем проблема вынести этот id в базовый класс для всех бизнес-объектов? ну это отдельная таблица чтоли будет? в codefirst Нет. Как ты себе это представляешь? ООП отдельно - Таблицы в БД отдельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 00:33 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Дядя КоляhVosttДядя Коля, обратившись к таблице по текстовому имени, не знаешь какой там тип, чтобы строить LINQ-запрос. невозможно написать такое условие Where(..). другими словами, как мне пойти взять то, не знаю что, но по известному направлению. никак. в этих таблицах будут гарантированные колонки типа id name, их достаточно Только на будущее рекомендовал бы сделать базовый класс с ID, от него отнаследовать NAME, а от этого уже всё остальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 00:35 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Агнец за бортом, Т.е. вы одобрямс вот это: db.getfromtable("table")....? ОК. Пусть делает). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 07:16 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортом, Т.е. вы одобрямс вот это: db.getfromtable("table")....? ОК. Пусть делает). Для целей ТС есть паттерн репозиторий и дженерики. repo.getFromTable<Т>().where.... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 07:31 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Агнец за бортом, Да. Но это уже не совсем ОРМ классика и EF. Как динамический sql со склейкой строк чётко отличается от обычного sql. Это недалеко ушло от: context.db.connection.command.runSql("select aaaaaaa.. Паттерны есть на всё. Даже на Г.код. (с) ))) Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 08:01 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Petro123, Не понимаю. Это EF. Типизация сохраняется и работает. EF через контекст сама реализует доступ via generics. Насчёт "классики"... "Нет, пока один работаю")) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 08:07 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Агнец за бортом, Ну дак ContextDb.ИмяСущности Проще наверно для программирования чем репо? 2. EF отслеживает изменения при репо? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 08:32 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортом, 2. EF отслеживает изменения при репо? Мы с тобой о разных вещах наверное говорим. EF никуда не девается, репо - это просто обёртка вокруг EF. EF сама предоставляет db.Set<entity>, так что можно и без репозитория, просто в приличных домах работа с бд - это не только получение списка. Не скажу, что мой код репозитория прямо 500 кило, но экрана два кода он занимает. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 09:10 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Агнец за бортомEF никуда не девается, репо - это просто обёртка вокруг EF.на хабре флеймов полно - занафига делать обертку, если паттерн уже внутри EF. Агнец за бортомпросто в приличных домах работа с бд - это не только получение списка. Согласен. Только я начинаю от простого к сложному. И тут не понимаю, как можно писать ИС не зная заранее имя таблицы, сущности и предметной области. А если знаем, то: Context. И после точки они появляются. Никакой динамики. ... Хотя вы правы, жизнь сложнее в общих случаях. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 09:49 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Дядя Коля, как то так Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 12:11 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
ЕвгенийВ, А потом к нему GetFieldByName() )) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 12:19 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Petro123ЕвгенийВ, А потом к нему GetFieldByName() )) В автоматической кодогенерации нормальная тема ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 13:02 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
ЕвгенийВ, Её уже сделали. В штатном EF, в хибере, в биндинге AndroidStudio. Т.к. когда при изменении модели или раздела биндинг в XML студия IDE генерит классы программисту. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 13:14 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Petro123ЕвгенийВ, Её уже сделали. В штатном EF, в хибере, в биндинге AndroidStudio. Т.к. когда при изменении модели или раздела биндинг в XML студия IDE генерит классы программисту. биндинг в XML в топку. Я показал как решить поставленную задачу в не зависимости от ее вменяемости, скорее из академических целей, а не разглагольствовал о "великом". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 14:19 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
ЕвгенийВбиндинг в XML в топку. wpf в xaml. Другого вроде нет. Может в шарпе по другому..... ЕвгенийВЯ показал как решить поставленную задачу в не зависимости от ее вменяемости, скорее из академических целей, а не разглагольствовал о "великом". Да. Это круто. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 14:28 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
ЕвгенийВДядя Коля, как то так Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Этот лютый код служит цели - достать из произвольной таблицы сущность с id==5 ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 14:36 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Агнец за бортом, Забыл - достать сущность с id==5 для дяди Коли? Или любой может её получить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 14:43 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Агнец за бортом Этот лютый код служит цели - достать из произвольной таблицы сущность с id==5 ?? да. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 15:41 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
ЕвгенийВАгнец за бортомЭтот лютый код служит цели - достать из произвольной таблицы сущность с id==5 ?? да. То есть правильней метод назвать на func, а Код: c# 1.
??? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 15:53 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
А можно для альтернативно одаренных - почему этого не достаточно? Студию открыть не могу - окно ответа - моя IDE. public static IQueryable func(this DwhContext context, string table) { var type = context.GetType(); var tab = type.GetProperty(table); var t = tab.GetType(); return context.Set<t>() } ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 16:00 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Сорри. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 16:01 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Агнец за бортом Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Сорри. Ты путаешь тип-параметр с экземпляром класса Type. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 16:13 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
ЕвгенийВТы путаешь тип-параметр с экземпляром класса Type. То есть - generic-type из строки вообще не получить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 16:28 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Агнец за бортом, только нетипизированный Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 17:38 |
|
Динамический linq
|
|||
---|---|---|---|
#18+
Агнец за бортомТо есть - generic-type из строки вообще не получить? А как из кода собираешься с этим работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2018, 18:04 |
|
|
start [/forum/topic.php?all=1&fid=17&tid=1349213]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
153ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 286ms |
0 / 0 |