Я предполагаю, что MyModel
это контекст, созданный Entity Framework Designer, верно? EntityConnection может быть создан из DbConnection в сочетании с MetadataWorkspace
. Я также предполагаю, что EF Designer добавил свойство connectionstring в ваше app / web.config, которое содержит что-то вроде этого:
metadata=res://*/Content.MyModel.csdl|res://*/Content.MyModel.ssdl|res://*/Content.MyModel.msl;
Это 3 компонента, составляющие ваше MetadataWorkspace. Для создания вашего EntityConnection из этой информации вы должны предоставить каждый файл в массиве:
string[] paths =
{
// "res://" refers to a embedded resource within your DLL, this is automatically done if
// you've used the EF designer.
"res://*/Content.MyModel.csdl",
"res://*/Content.MyModel.ssdl",
"res://*/Content.MyModel.msl"
};
Assembly[] assembliesToConsider = new Assembly[]
{
typeof(MyModel).Assembly
};
System.Data.Metadata.Edm.MetadataWorkspace workspace = new System.Data.Metadata.Edm.MetadataWorkspace(paths, assembliesToConsider);
EntityConnection connection = new EntityConnection(workspace, profiledConnection);
Я не проверял это с помощью MvcMiniProfiler (сначала установил его прямо сейчас), но могут быть некоторые проблемы, если профилированное соединение не ведет себя точно так же, как исходное MySqlConnection, попробуйте в противном случае попытаться создайте настройки.