I searched google for the above error and only came back with one post
of off stack flow. (
http://stackoverflow.com/questions/4073213/mvc3-
ef4-poco-repository-unitofwork-connection-error) The good news is
it's basically my exact setup. The bad news is their is no solution
for this problem. The gist of it is that when implementing DI with
EF, an error is thrown at runtime when attempting to access the
database and the error complains about the connection string being
incorrect. This is very unlikely because the string was autogenerated
by EF. I'll include the string and entire error as reference. This
string works fine when using it to model the DB so I'm not sure why
does not work at runtime.
metadata=res://*/Models.TeamTrack.csdl|res://*/Models.TeamTrack.ssdl|
res://*/Models.TeamTrack.msl;provider=System.Data.SqlClient;provider
connection string="data source=10.202.50.1;initial
catalog=TeamTrack;integrated
security=True;multipleactiveresultsets=True;App=EntityFramework"
System.ArgumentException was unhandled by user code
Message=The supplied connection is not valid because it contains
insufficient mapping or metadata information.
Parameter name: connection
Source=System.Data.Entity
ParamName=connection
StackTrace:
at System.Data.Objects.ObjectContext..ctor(EntityConnection
connection, Boolean isConnectionConstructor)
at System.Data.Objects.ObjectContext..ctor(EntityConnection
connection)
at DynamicInjectorad5446a29c914f2595cda202f2c20463(Object[] )
at
Ninject.Activation.Providers.StandardProvider.Create(IContext context)
in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Activation
\Providers\StandardProvider.cs:line 82
at Ninject.Activation.Context.Resolve() in c:\Projects\Ninject
\Maintenance2.2\ninject\src\Ninject\Activation\Context.cs:line 157
at Ninject.KernelBase.<Resolve>b__7(IContext context) in c:
\Projects\Ninject\Maintenance2.2\ninject\src\Ninject
\KernelBase.cs:line 375
at
System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource
x)
at
System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.SingleOrDefault[TSource]
(IEnumerable`1 source)
at Ninject.Planning.Targets.Target`1.GetValue(Type service,
IContext parent) in c:\Projects\Ninject\Maintenance2.2\ninject\src
\Ninject\Planning\Targets\Target.cs:line 179
at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext
parent) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject
\Planning\Targets\Target.cs:line 147
at
Ninject.Activation.Providers.StandardProvider.GetValue(IContext
context, ITarget target) in c:\Projects\Ninject\Maintenance2.2\ninject
\src\Ninject\Activation\Providers\StandardProvider.cs:line 97
at
Ninject.Activation.Providers.StandardProvider.<>c__DisplayClass2.<Create>b__1(ITarget
target) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject
\Activation\Providers\StandardProvider.cs:line 81
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1
source)
at
Ninject.Activation.Providers.StandardProvider.Create(IContext context)
in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Activation
\Providers\StandardProvider.cs:line 81
at Ninject.Activation.Context.Resolve() in c:\Projects\Ninject
\Maintenance2.2\ninject\src\Ninject\Activation\Context.cs:line 157
at Ninject.KernelBase.<Resolve>b__7(IContext context) in c:
\Projects\Ninject\Maintenance2.2\ninject\src\Ninject
\KernelBase.cs:line 375
at
System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource
x)
at
System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.SingleOrDefault[TSource]
(IEnumerable`1 source)
at Ninject.Planning.Targets.Target`1.GetValue(Type service,
IContext parent) in c:\Projects\Ninject\Maintenance2.2\ninject\src
\Ninject\Planning\Targets\Target.cs:line 179
at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext
parent) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject
\Planning\Targets\Target.cs:line 147
at
Ninject.Activation.Providers.StandardProvider.GetValue(IContext
context, ITarget target) in c:\Projects\Ninject\Maintenance2.2\ninject
\src\Ninject\Activation\Providers\StandardProvider.cs:line 97
at
Ninject.Activation.Providers.StandardProvider.<>c__DisplayClass2.<Create>b__1(ITarget
target) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject
\Activation\Providers\StandardProvider.cs:line 81
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1
source)
at
Ninject.Activation.Providers.StandardProvider.Create(IContext context)
in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Activation
\Providers\StandardProvider.cs:line 81
at Ninject.Activation.Context.Resolve() in c:\Projects\Ninject
\Maintenance2.2\ninject\src\Ninject\Activation\Context.cs:line 157
at Ninject.KernelBase.<Resolve>b__7(IContext context) in c:
\Projects\Ninject\Maintenance2.2\ninject\src\Ninject
\KernelBase.cs:line 375
at
System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource
x)
at
System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
at Ninject.ResolutionExtensions.Get(IResolutionRoot root, Type
service, IParameter[] parameters) in c:\Projects\Ninject
\Maintenance2.2\ninject\src\Ninject\Syntax
\ResolutionExtensions.cs:line 151
at
Web.NinjectControllerFactory.GetControllerInstance(RequestContext
requestContext, Type controllerType) in E:\My Documents\Visual Studio
2010\Projects\MVC3_Ops\Web\NinjectControllerFactory.cs:line 18
at
System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext
requestContext, String controllerName)
at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase
httpContext, IController& controller, IControllerFactory& factory)
at
System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<BeginProcessRequest>b__2()
at
System.Web.Mvc.SecurityUtil.<>c__DisplayClassb`1.<ProcessInApplicationTrust>b__a()
at
System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f)
at System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action
action)
at
System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust[TResult](Func`1
func)
at
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase
httpContext, AsyncCallback callback, Object state)
at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext
httpContext, AsyncCallback callback, Object state)
at
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext
context, AsyncCallback cb, Object extraData)
at
System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,
Boolean& completedSynchronously)
InnerException: