【发布时间】:2017-09-21 12:48:45
【问题描述】:
我遇到了一个我之前看到过的问题,但答案似乎只适用于 ASP.NET MVC,而我使用的是 WPF(使用实体框架)。
我在 VS 中的 XAML 设计器目前如下所示:
这是在UserControl 上,代码非常简单:
<UserControl x:Class="door_system.Views.HomeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:viewModels="clr-namespace:door_system.ViewModels"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.DataContext>
<viewModels:HomeViewModel/>
</UserControl.DataContext>
<Grid>
<DataGrid AutoGenerateColumns="False">
<DataGridTextColumn Width="*"/>
<DataGridTextColumn Width="*"/>
<DataGridTextColumn Width="*"/>
</DataGrid>
</Grid>
</UserControl>
所以我的项目设置如下:
只有一个app.config 文件肯定包含连接字符串:
<connectionStrings>
<add name="MicrotrakContext" connectionString="metadata=res://*/Models.MicrotrakModel.csdl|res://*/Models.MicrotrakModel.ssdl|res://*/Models.MicrotrakModel.msl;provider=System.Data.SqlClient;provider connection string="data source=*******;initial catalog=MicrotrakEvolution;user id=******;password=********;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
当我构建项目时,没有错误。当我运行该项目时,它也执行没有错误。这是我发现的错误吗?
除了名称更改之外,我还有两个项目以几乎完全相同的方式设置,构建和运行都没有问题。
调用HomeViewModel中的上下文的任务:
private Task LoadTransactionsTask()
{
return Task.Run(() =>
{
using (var context = new MicrotrakContext())
{
AllTransactions = new ObservableCollection<Transaction>(
(from record in context.Transactions
select record)
.Where(x => x.CreationTime >= DateTime.Today)
.ToList());
}
});
}
【问题讨论】:
-
code 和实际异常在哪里?你试过调试你的代码吗? XAML 不查询数据库。您如何定义和使用您的 EF 上下文?
-
@PanagiotisKanavos 请查看编辑。
-
堆栈跟踪显示了什么?请,请,请,PLEASE 发布连接字符串文本,而不是连接字符串文本的不可分割的黑色屏幕截图。这看起来像一个模糊的 EF 连接字符串。该元素看起来不像是模糊的 EF config 部分。
-
“我在 VS 中的设计器目前看起来像这样”您指的是您的 XAML 设计器、EF 模型设计器还是其他什么?
-
@jcruz XAML 设计师。
标签: c# wpf entity-framework