【发布时间】:2023-04-03 23:33:01
【问题描述】:
我有一个 ObservableCollection,其中包含来自使用 Linq 的数据库中的数据。我只需要将该集合的特定过滤项显示在我的列表框中。
我创建了一个 ICollectionView,我将其初始化为来自该 ObservableCollection 的默认视图。然后我试图通过使用 linq 过滤该视图,这就是问题所在。我的“过滤器”返回一个 IEnumerable,我不知道如何正确地将其转换为我的视图,以便我可以在列表框中显示视图。
ObservableCollection:
private ObservableMitarbeiterAufgabe mitarbeiterAufgabeData;
观点:
ICollectionView view = CollectionViewSource.GetDefaultView(mitarbeiterAufgabeData);
我的过滤器无法正常工作,因为它返回一个 IEnumerable:
var selected = (Mitarbeiter)lb_Ma_Au_Zuweisung.SelectedItem;
view.Filter = from ma in selected.MitarbeiterAufgabe select ma.Aufgaben;
如何让我的过滤器接受 IEnumerable?
编辑:添加完整的数据结构。
CREATE TABLE [dbo].[Mitarbeiter] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Vorname] VARCHAR (50) NOT NULL,
[Nachname] VARCHAR (50) NOT NULL,
[Belastung] INT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
CREATE TABLE [dbo].[Aufgaben] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (50) NOT NULL,
[Beschreibung] NVARCHAR (50) NOT NULL,
[Belastung] INT NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
CREATE TABLE [dbo].[MitarbeiterAufgabe] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[MitarbeiterID] INT NOT NULL,
[AufgabenID] INT NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_MitarbeiterID] FOREIGN KEY ([MitarbeiterID]) REFERENCES [dbo].[Mitarbeiter] ([Id]),
CONSTRAINT [FK_AufgabenID] FOREIGN KEY ([AufgabenID]) REFERENCES [dbo].[Aufgaben] ([Id])
);
var selected = (Mitarbeiter)lb_Mitarbeiter_Zuweisung.SelectedItem;
存储表“Mitarbeiter”中的对象。我需要过滤器为我提供来自“MitarbeiterAufgabe”的每个条目,其中 MitarbeiterID 与所选项目的 id 匹配。
【问题讨论】:
标签: c# linq ienumerable icollectionview