Если у меня есть dbContext, строка подключения которого создается во время создания контекста, а затем я хочу отобразить имена таблиц на основе некоторой этой информации .... как бы я передал эти данные в сопоставления таблиц? Например:
private object createContext(string name, string country)
{
DbConnectionstringbuilder conn = new DbConnectionstringbuilder();
conn.Add("Provider", "System.Data.SqlClient");
conn.ConnectionString = string.Format(name, "dbName_" + country + "_moreName");
//maybe an if/else since we will say there are more names and countries
return new object(conn.ToString());
}
Теперь, когда вы инициализируете dbcontext, это что-то вроде:
public class object : DbContext
{
public object(string conn):base(conn)
{
DbDatabase.SetInitializer<object>(null);
}
//insert dbset and mapping config calls here
}
Теперь я хочу, чтобы мои таблицы отображались как "table_" + country + "_endtablename"; Я думаю, как мне получить эти данные, передаваемые в вызов сопоставления?
Эти таблицы сопоставлены с существующей базой данных, которая использовала этот формат. Страна на самом деле исходит из учетных данных вошедшего в систему пользователя и, таким образом, основана на местоположении и т. Д. Мне просто нужно найти способ доступа к тому коду страны, который является внутренним конструктором, к базовому классу в последнем созданном dbcontext.