|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Petro123, Petro123, Пишу по памяти таr что могу ошибиться, но идея должна быть понятна string User="Иванов" forech(var entity in context.GetType().GetProperties()) { IQuerнable queryable=(IQueryable)entity.GetValue(context); var result = queryable.Cast<IUser>().Where(r=>r.User==User); } в идеале обойтись без Cast, но вот к типу object нельзя сделать LINQ запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 21:09 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452но идея должна быть понятнаты ТС. Так? "а ТС всегда работает больше отвечающих" (с) Тогда сначала ответь. Почему я Core начал изучать с EF Core Hello world, а ты нет? Мысль понятна? Почему не потратив 2 дня на EF ver6 ты толкаешь идеи обществу 6 страниц и неделю в сумме? Я уже Core прокачал пока ты тут рогами уперся.) Ничего личного).... пятница) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 22:54 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452Тогда я не понимаю классификацию. По мне так DbSet t1 ~ таблица, а t1row~ Тип строк в этой таблице, потомя я и назвал их типом. А что действительно является типом, который нужно передавать в context.Set<Тип> я так и не понялТак, стоп, какая еще классификация? Давай начнем с классического определения, что такое тип и что такое переменная. Это вроде бы одинаково во всех учебниках по C#. Так вот в вышеприведенном куске кода t1Row - это тип. Если ты завел переменную с таким же именем - ты сам себя запутал. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 23:25 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Shocker.Pro, У него 100 таблиц и я так понял он хотел автоматизировать. Но бежит впереди паровоза. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 23:33 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Row-Level Security в РСУБД ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2018, 23:35 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452, посмотрите в сторону Global Query Filters и следующий пример: Row level security in EntityFramework 6 (EF6) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 11:15 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Первое - это для Core только. Хотя Петя упомянул выше, что для EF6 есть отдельная примочка не из коробки ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 11:38 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Petro123Shocker.Pro, У него 100 таблиц и я так понял он хотел автоматизировать. Но бежит впереди паровоза. правильно понял ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 11:41 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Shocker.Prolex452Тогда я не понимаю классификацию. По мне так DbSet t1 ~ таблица, а t1row~ Тип строк в этой таблице, потомя я и назвал их типом. А что действительно является типом, который нужно передавать в context.Set<Тип> я так и не понялТак, стоп, какая еще классификация? Давай начнем с классического определения, что такое тип и что такое переменная. Это вроде бы одинаково во всех учебниках по C#. Так вот в вышеприведенном куске кода t1Row - это тип. Если ты завел переменную с таким же именем - ты сам себя запутал. Я не заводил такую переменную просто возможно вас запутал, пытаясь написать более понятно string User="Иванов" forech(var entity in context.GetType().GetProperties()) { IQuerнable queryable=(IQueryable)entity.GetValue(context); var result = queryable.Cast<IUser>().Where(r=>r.User==User); } Здесь в каждой итерации queryable является DbSet<t1Row> t1...DbSet<t100Row> t100, но entity.GetValue(context) представляет его как object ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 11:45 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Да что ты все перескакиваешь. Мы вообще про другое говорили: lex452Shocker.ProВернемся к примеру Код: c# 1.
Вот в точно таком виде какую точно ошибку он выдает? t1Row переменная, но используется как тип. при использовании Cast<IUser>.Where приложение вообще не отправляет запрос на сервервот я и спрашиваю, какого фига t1Row у тебя тут переменная. lex452Я не заводил такую переменнуюну вот как дальше?... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 11:52 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Shocker.Proдля EF6 есть отдельная примочка не из коробкида. И вроде все прогеры кроме ТС пользуют. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 12:04 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
И возможно это важно. Задача состоит не в разграничивании доступа к данным, а в обычной фильтрации данных пользователем, просто на стороне сервера, а не приложения ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 12:25 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452а в обычной фильтрации данных пользователем, просто на стороне сервера, а не приложенияслово контроллер слышал? Второй раз пишу. Там фильтр пользователя. А ты модель где КОННЕКТ формируется и 200 таблиц в цикле перебираешь. Упрямец. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 12:36 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452, Второй момент, что запросы не все абсолютно нужно фильтровать по жизни. Например главное окно приложения вызывает контекст. Зачем там бегать по таблам и фильтровать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 12:40 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452просто на стороне сервера, а не приложенияв контроллере where идет на сервер. Ферштейн? Упрямец) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 12:42 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Petro123, Отдельная примочка не из коробки, это Row-Level Security в РСУБД? И фильтр в контроллере можно менять в приложении или только при вызове контекста? Я использую MVVM модель в и каждая отфильтрованная таблица будет отображаться в отдельной вкладке (Tab). Для биндинга в компонент я использую ObservedCollection<таблица> Так что мне все равно придется пробегаться по всем таблицам в контексте ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 13:03 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452Отдельная примочка не из коробки, это Row-Level Security в РСУБД? Да на 50% плюс просто фильтр глобальный. Выше код смотрел? lex452И фильтр в контроллере можно менять в приложении или только при вызове контекста?как захочешь. В этом и соль и правильность. lex452каждая отфильтрованная таблица будет отображаться в отдельной вкладке (Tab). 100 вкладок? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 13:24 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452использую MVVMна 7 странице рассказал о модели. Знатный упрямец. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 13:26 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
автор100 вкладок? Ну не 100 конечно, но 10 - 15 будет ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 13:26 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452<таблица>может сущность? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 13:27 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452Если будет 100 таблиц, я не хочу ручками lex452Ну не 100 конечно, но 10 - 15 будетзнатный флудер на 6 страниц ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 13:28 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Shocker.ProПервое - это для Core только. Хотя Петя упомянул выше, что для EF6 есть отдельная примочка не из коробки Entity Framework Dynamic Filters Но походу ТС не читатель. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 13:38 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
Petro123знатный флудер на 6 страниц Не надо так, я попросил помощи в конкретной задаче, но в итоге предложили решения которые не работают, а в конце концов еще и как всегда, пришли к тому что все неправильно и делай по другому. Причем никто не сказал как решить то что спросил, и никто не сказал что это не возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 13:57 |
|
EF6 динамическое применение условий во всех таблицах
|
|||
---|---|---|---|
#18+
lex452Не надо так, я попросил помощи в конкретной задаче, но в итоге предложили решения которые не работают, а в конце концов еще и как всегда, пришли к тому что все неправильно и делай по другому. Причем никто не сказал как решить то что спросил, и никто не сказал что это не возможно.Ты с Код: c# 1.
справился? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2018, 13:58 |
|
|
start [/forum/topic.php?fid=17&msg=39731031&tid=1349154]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 390ms |
0 / 0 |