2016-12-01 95 views
1

我有一个DataGrid的视图。这DataGrid,在我的ViewModel绑定到List。 我的ViewModel通过使用EF6和MySQL 5.6来填充这个列表。它从视图而不是表格中检索数据。两个Datagrids具有相同的源,但输出的结果略有不同

奇怪的是:当我的应用程序显示数据时,有一行'似乎'被复制到另一行。 但是,在Mysql Workbench中,同一行根本不重复。看看下面:

Workbench showing view

以上是从Workbench显示的细节,因为它们的数据网格。 但是......

datagrid from my App hallucinating

在我的应用程序在同一行似乎被复制。

具有讽刺意味的是 - 在我的应用程序中 - 我应该指定Format字段只显示'RTGS'付款,同一'重复'行将在结果中显示。尽管在Format字段中提供了“现金”。

的代码来填充这个Datagrid的:

XAML

<DataGrid ItemsSource="{Binding ContributionsList, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
        AutoGenerateColumns="True"/> 

视图模型

var ContributionsQuery = ((LogicApp)Application.Current).ContextHeavy.viewcontributionsjournals.Where(
         t => t.Captured > MinRequestedDate 
         && t.Captured < MaxRequestedDate); 

        ContributionsList = new List<viewcontributionsjournal>(ContributionsQuery); 

任何想法是什么导致了这种行为?除前几列外,这些行应该没有任何共同之处。那么,为什么看起来一个人正在覆盖另一个?

回答

0

如果您根据收据编号指定DistinctBy(),它有什么区别吗?即:

var ContributionsQuery = (((LogicApp)Application.Current).ContextHeavy.viewcontributionsjournals.Where(
         t => t.Captured > MinRequestedDate 
         && t.Captured < MaxRequestedDate)).DistinctBy(a => a.ReceiptNo); 

它仍然'覆盖'该记录吗?

+0

嗨。抱歉耽搁了。我只有互联网艺术作品。该解决方案确实删除了其中一行。但它不是被覆盖的。原来,我的观点从左连接到内连接变成了一个骗局。 – Offer

相关问题