Мне интересно, есть ли возможность запросить набор в дБ с помощью переменной в linq.
Прежде всего, я запрашиваю свою базу данных, чтобы получить имя таблицы в виде строки, я хочучтобы преобразовать это в имя таблицы:
public static string getTableName()
{
string tableName = string.Empty;
var department= "Sales";
using (var context = new ALLDBEntities())
{
tableName = (from x in context.PROCESS_MATRIX
where x.AREA.Equals(product)
select x.ENTITY).FirstOrDefault();
}
return tableName;
}
Теперь у меня есть имя таблицы в виде строки, я хочу иметь возможность использовать это для написания запроса linq, но вместо использования alldbEntities.sales
, яхочу использовать table
.Причина этого в том, что мне нужно написать несколько запросов, чтобы сделать одно и то же, так как мне придется запрашивать разные таблицы.
Есть ли далеко, чтобы достичь этого?
public List<sales> GetData(DateTime startDate, DateTime endDate)
{
var table = getTableName();
this.startDate = startDate.AddDays(-1);
this.endDate = endDate.AddDays(1);
using (var alldbEntities = new ALLDBEntities())
{
salesinfo = alldbEntities.sales.Where(f => f.Date >= this.startDate && f.Date <= this.endDate).ToList();
}
return salesinfo;
}