好像我在tlitterio中遇到与question类似的问题。
我正在使用Daniels首次提到的方法from here,我的ViewModel有一个无参数构造函数,ConnectionString位于App.config中所有解决方案项目中,如下所示:
[...]
<connectionStrings>
<add name="DataBaseEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=.\SQLTEST;attachdbfilename=|DataDirectory|\DataBase.mdf;integrated security=True;connect timeout=30;user instance=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
[...]
使用这个post [德语,在底部]我猜,它是DataAccessLayer,在无参数构造函数中调用,导致麻烦。
我很好地问,如果有人可以简单地解释一下,在这方面究竟在启动时发生了什么,或者为什么抛出DesignTime中的这个(见下文)异常。 或者,在xaml中实例化我的viewmodel之前要确定什么? (我刚刚发现这个here被指出,它需要在启动项目中。)
"InvalidOperationException" wurde in "MainWindwoViewModel" ausgelöst: Eine Instanz von "MainWindoeViewModel" kann nicht erstellt werden. Klicken Sie hier, um Details anzuzeigen.
No connection string named 'DataBaseEntities' could be found in the application config file.
bei System.Data.Entity.Internal.LazyInternalConnection.get_ConnectionHasModel()
bei System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
bei System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
bei System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
bei System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator()
bei System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
bei System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
bei System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
bei WpfApplication1.DataAccessLayer.GetAllCustomers() in C:\Users\User\documents\visual studio 2010\Projects\test\WpfApplication1\DataAccessLayer.cs:Zeile 107.
bei WpfApplication1.ViewModel.MainWindowViewModel..ctor() in C:\Users\User\documents\visual studio 2010\Projects\test\WpfApplication1\ViewModel\MainWindowViewModel.cs:Zeile 299.