Как динамически передать тип в System.Data.Entity.Database.SqlQuery <TElement>() - PullRequest
0 голосов
/ 20 января 2020

Я хотел бы создать процедуру, которая возвращает все динамически, чтобы мне не приходилось разрабатывать переключатель на строку, чтобы найти правильный тип. Я попытался получить тип из строки:

Type myDynamicType = Type.GetType("myDynamicType");
var objects = dataContext.Database.SqlQuery<myDynamicType>($"SELECT * FROM MY_TABLE WHERE Id > 0").ToList();

Этот код не работает, поскольку возвращает эту ошибку:

Ошибка CS0118 «myDynamicType» является переменной, но используется как тип

1 Ответ

1 голос
/ 20 января 2020

Да, у вас не может быть List<typeof(int)>, если вы хотите List<int>.

Но вам повезло, для этого есть перегрузка * generic c.

 var objects = dataContext.Database.SqlQuery(myDynamicType, $"SELECT * FROM MY_TABLE 
     WHERE Id > 0").ToList()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...