У меня есть ObservableCollection, которая содержит данные из базы данных, используя Linq.Мне нужно, чтобы в моем списке отображались только определенные отфильтрованные элементы этой коллекции.
Я создал ICollectionView, который я инициализировал как представление по умолчанию из этого ObservableCollection.Затем я пытаюсь отфильтровать это представление с помощью linq, и в этом заключается проблема.Мой «фильтр» возвращает IEnumerable, и я не знаю, как правильно привести его к моему представлению, чтобы я мог показать представление в моем списке.
The 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 совпадает с идентификатором выбранного элемента.