powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF6 динамическое применение условий во всех таблицах
25 сообщений из 222, страница 8 из 9
EF6 динамическое применение условий во всех таблицах
    #39731420
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, значит будем пробовать динамику
Код: c#
1.
2.
var myType = typeof(t1row);
var res = myContext.Set(myType).Where(ExpressionWhereOneField("user", "User")).ToList();
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731423
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProОк, значит будем пробовать динамику
Код: c#
1.
2.
var myType = typeof(t1row);
var res = myContext.Set(myType).Where(ExpressionWhereOneField("user", "User")).ToList();



У myContext.Set(myType) нету WHERE
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731431
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
((IQueryable)myContext.Set(myType)).Cast<object>().Where(ExpressionWhereOneField("user", "User")).ToList();
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731435
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

АРгументы типа для метода ExpressionWhereOneField<T>(object , string ) не могут определяться по использованию
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731437
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Where<object>(...
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731438
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зря русскую студию поставил
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731440
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, нет
Код: c#
1.
.Where(ExpressionWhereOneField<object>("user", "User"))
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731441
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProА, нет
Код: c#
1.
.Where(ExpressionWhereOneField<object>("user", "User"))


Я уже попробовал, студия скачалась русская, переставлять лень было. Теперь ошибка в Expression
System.ArgumentException: "Свойство экземпляра "user1" не определено для типа "System.Object""
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731443
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, почему свойство "user1", если должно быть "User"
Но все равно фигово
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731444
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProВо-первых, почему свойство "user1", если должно быть "User"
Но все равно фигово

System.ArgumentException: "Свойство экземпляра "User" не определено для типа "System.Object""
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731446
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй вот так
Код: c#
1.
((IQueryable)myContext.Set(myType)).Cast<IUser>().Where(ExpressionWhereOneField<object>("user", "User")).ToList();


ты говорил, не уходит запрос - но мы пробовали без ToList
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731447
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proпопробуй вот так
Код: c#
1.
((IQueryable)myContext.Set(myType)).Cast<IUser>().Where(ExpressionWhereOneField<object>("user", "User")).ToList();


ты говорил, не уходит запрос - но мы пробовали без ToList
не в этом дело, щас вроде получилось, если вместо object указывать тип. Перепроверю отпишусь
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731448
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452если вместо object указывать типа, ну да, там не исправил на IUser...
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731450
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Prolex452если вместо object указывать типа, ну да, там не исправил на IUser...
Нет, интерфейс думаю здесь не нужен будет
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731461
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452,

вот так работает
Код: c#
1.
((IQueryable)dbSet).Cast<t1>().Where(ExpressionWhereOneField<t1>("user1", "User"));


Но не получается динамически получить t1
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731463
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452Но не получается динамически получить t1И не получится, параметры типа могут задаваться только при компиляции, но никак не в рантайме. Иначе и смысла не было бы весь этот огород городить.

Код: c#
1.
((IQueryable)myContext.Set(myType)).Cast<IUser>().Where(ExpressionWhereOneField<IUser>("user", "User")).ToList();

Вот это к чему приводит?
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731465
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Prolex452Но не получается динамически получить t1И не получится, параметры типа могут задаваться только при компиляции, но никак не в рантайме. Иначе и смысла не было бы весь этот огород городить.

Код: c#
1.
((IQueryable)myContext.Set(myType)).Cast<IUser>().Where(ExpressionWhereOneField<IUser>("user", "User")).ToList();

Вот это к чему приводит?
System.NotSupportedException: "Не удалось привести тип "EntityTest.t1" к типу "EntityTest.IFilter". LINQ to Entities поддерживает только приведение типов-примитивов моделей EDM или типов перечисления."
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731467
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм. Получается, что необобщенный Set - какая-то хрень бесполезная
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731469
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Когда я сделал такой же вывод я создал эту ветку
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731472
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452Когда я сделал такой же вывод я создал эту веткунеобобщенный Set ты вроде бы не пробовал до создания ветки...

а
Код: c#
1.
myContext.Set(myType).ToList()

сам по себе возвращает записи?

Если да, можно, конечно, фильтрануть и на клиенте
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731473
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Нужно на сервере
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731474
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще, можно, конечно, взять myContext.Set(myType).Sql, приделать к нему Where и выполнить )
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731476
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Это костыль костыльный, буду курить глобальные фильтры и контроллеры
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39731481
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lex452,

вот тебе кайф дает :) да открой исходники и смотри - там все закрыто
можно только самому создать модель и скормить датаконтексту
...
Рейтинг: 0 / 0
EF6 динамическое применение условий во всех таблицах
    #39733218
lex452
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде получилось сделать то что нужно через EntityFramework.DynamicFilters. Там накладывается глобальный фильтр на контекст и есть удобные механизмы их включения отключения и изменения.
...
Рейтинг: 0 / 0
25 сообщений из 222, страница 8 из 9
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF6 динамическое применение условий во всех таблицах
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]