Как вы можете динамически выбирать таблицу с помощью Entity Framework 4.x? - PullRequest
5 голосов
/ 18 октября 2011

Предположим, у меня есть база данных с именем MyDatabase, в которой есть две таблицы - MyTable1 и MyTable2.Используя подход Code First с Entity Framework 4.x и .NET 4, я создал контекст с именем MyDatabaseContext, который содержит MyTable1s и MyTable2s.

Обычно к таблицам обращаются как MyDatabaseContext.Table1s.<Command>,В моей базе данных многие таблицы имеют несколько общих полей (например, CreatedOn, ModifiedOn).Я хотел бы иметь возможность динамически подставлять имя таблицы, чтобы я мог выполнить один и тот же запрос для любой таблицы.

То, что я действительно хочу (и которое, по-видимому, недоступно), является чем-то вроде MyDatabaseContext[ContextTableName].<Command>.

Кто-нибудь знает, существует ли такая функциональность для динамического выбора таблицы во время запроса.

Ответы [ 2 ]

2 голосов
/ 18 октября 2011

Проверьте динамический linq.Вот статья об этом от Скотта Гатри: http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

0 голосов
/ 09 июля 2015

У меня была такая же проблема с таблицами, которые создавались для каждого дня, например: TableName_2014_06_06

В конце я просто вернулся к основам и использовал SqlConnection. Я предлагаю вам сделать то же самое

...