Cast LINQ result to ObservableCollectionЗапрос LINQ в ObservableCollection?
Джон Скит дает отличный ответ в вопросе, но я все еще не могу сделать свой собственный.
Новым для classes, поэтому я все еще участвую в фазах обучения.
Я создал класс LINQ to SQL и, очевидно, существует много сгенерированного кода. Это фрагмент класса, сгенерированного при добавлении класса, который имеет отношение к этому вопросу. Это, очевидно, связано с таблицей базы данных с именем Staff_Time_TBL
.
public partial class Staff_Time_TBL : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private long _ID;
private System.Nullable<System.DateTime> _Date_Data;
}
У меня есть рабочий класс, который я сделал, что получает данные мне нужно в Datagrid, Он извлекает данные из двух дат и с сотрудником с уникальным номером персонала. Это прекрасно работает, но при обновлении данных dirrectly в базу данных, данные в интерфейсе не обновляется, see this question.
internal class DatabaseQueries
{
public static IEnumerable<Staff_Time_TBL> MainTable(DatabaseDataContext database, DateTime fromDate, DateTime toDate, int employeeNumber)
{
return database.Staff_Time_TBLs.Where(staff =>
staff.Date_Data > fromDate &&
staff.Date_Data < toDate &&
staff.Staff_No == employeeNumber);
}
This code in this answer понятно, но я понятия не имею, что foo
должны были бы быть?
var linqResults = foos.Where(f => f.Name == "Widget");
var observable = new ObservableCollection<Foo>(linqResults);
Как создать класс Observablecollection для хранения запроса LINQ?
Это то, что я пытался что-то сделать, но дает мне ошибку компиляции в запросе.
Не может неявно преобразовать тип 'System.Collections.Generic.List' в 'System.Collections.ObjectModel.ObservableCollection'
public ObservableCollection<Staff_Time_TBL> observerableInfoData { get; set; }
public MainWindow()
{
DataContext = this; // required for C# binding
InitializeComponent();
observerableInfoData = new ObservableCollection<Staff_Time_TBL>();
observerableInfoData = sql.Staff_Time_TBLs.Where(staff => staff.Staff_No == SelectedEmployee.Key &&
staff.Date_Data == filterFrom &&
staff.Date_Data == filterTo).Select(staff => staff.Info_Data).ToList();
Ahh, теперь я вижу. Спасибо за это. Один вопрос, как я могу сделать это в классе? Я поддерживал помощь до сих пор. – KyloRen
@KyloRen: Насколько я могу судить, исходя из вашего комментария здесь, этот ответ затронул ваш вопрос и должен быть принят. Если у вас есть новый вопрос, задайте новый вопрос, не ставьте на новые вопросы этот вопрос. –
@PeterDuniho, на полпути через вопрос, я спрашиваю об этом: «Как я могу создать класс Observablecollection для хранения запроса LINQ?», Это моя цель и цель вопроса. – KyloRen