Я использую C #, Visual Studio 2010 и Entity Framework 4. У меня есть сборка, которая содержит несколько моделей сущностей. Требования проекта таковы, что я не храню никакой информации о соединении в app.config.
Я написал метод, который возвращает строку соединения сущности, когда я предоставляю имя модели, которую я хочу загрузить.
public static string GetEntityConnectionString(string modelName)
{
const string providerName = "somedatabaseprovider";
string metadata = string.Format(@"res://*/{0}.csdl|res://*/{0}.ssdl|res://*/{0}.msl", modelName);
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder
{
Provider = providerName,
ProviderConnectionString = GetProviderConnectionString(),
Metadata = metadata
};
return entityBuilder.ToString();
}
Теперь я хочу сделать это немного более пуленепробиваемым, передав тип модели сущности вместо литеральной строки для имени модели. Когда я редактирую модель сущности в Visual Studio, окно свойств для MyModel (типа ConceptualEntityModel) содержит свойство с именем «Имя контейнера сущностей», которое показывает MyEntities, и другое свойство с именем «Пространство имен», которое показывает MyModel.
Во время разработки у меня есть доступ к типу MyEntities. Как получить значение, хранящееся в свойстве «Пространство имен» ConceptualEntityModel во время выполнения?