【发布时间】:2012-04-13 02:02:25
【问题描述】:
我正在做一个项目,我们使用 EF 进行数据访问,使用 WPF 和 MVVM 进行用户界面。
我将视图模型绑定到窗口的数据上下文。此视图模型有一个默认构造函数,定义如下:
public KonumVM()
{
LocationOperations = new LocationOperations();
LocationNames = new ObservableCollection<string>();
Corporations= new ObservableCollection<Kurum>();
//Corporations= LocationOperations.GetCorpValues();
//foreach (var corp in Corporations)
//{
// LocationNames.Add(corp.Name);
//}
}
注释行是我查询数据库的地方。如果未注释这些行,当我尝试编辑绑定到此视图模型的窗口的 XAML 代码时,我得到一个异常,我认为这是一个 XAML 加载失败,它阻止了设计器。例外是在消息的末尾。当我注释数据库查询行时,设计师很好,没有例外。
我该怎么办?我应该将数据库访问代码移动到默认构造函数以外的其他地方吗?
无法打开请求的数据库“DemirbaşEntityLibrary.DemirbaşContext” 通过登录。登录失败。用户“Rfid\Mert”登录失败。
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection 拥有对象)在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection 拥有连接)在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection 外部连接,DbConnectionFactory 连接工厂)在 System.Data.SqlClient.SqlConnection.Open() 在 System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(布尔 openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection,字符串异常代码,字符串尝试操作, Boolean&closeStoreConnectionOnFailure)
【问题讨论】:
-
如果您不需要设计器中的连接性,请尝试查看此SO Question
-
这似乎是我正在寻找的,但是在使用“this”的方法中,依赖对象参数应该是什么?我正在使用 MVVM。 DesignerProperties.GetIsInDesignMode(this)
-
这可能更符合您的需求stackoverflow.com/questions/2498521/…
-
是的,在代码隐藏中分配 DataContext 解决了我的问题。谢谢!
标签: c# wpf entity-framework xaml mvvm