Я пишу немного утилиты для загрузки Моделей данных Объекта из блока и запроса против них.
Я попытался использовать Отражение для загрузки полученного ObjectContext
, но ObjectContext
не происходит из MarshalByRefObject
таким образом, я не могу передать параметры конструктору с Activator.CreateInstance()
(согласно исключению я добираюсь.)
Действительно ли возможно загрузить Модель Объекта, определенную и сохраненную во внешнем блоке с помощью Отражения, "поздно свяжите" с EDM и выполните запросы против него при обеспечении действительной строки подключения?
Я считаю, что ObjectContext.Metadataworkspace.LoadFromAssembly () - это то, что вы ищете:
Модель EDM, производная от ObjectContext, имеет имя ConnectionString, которое она передает базовому конструктору из собственного конструктора по умолчанию. Как показано ниже.
public const string ConnectionString = "name=My_Entities";
public const string ContainerName = "My_Entities";
#region Constructors
public My_Entities()
: base(ConnectionString, ContainerName)
{
Initialize();
}
#endregion
Вы всегда можете изменить детали подключения через ObjectContext.Connection.