Хорошо, это было для меня головным скрестом. У меня есть ListBox Я связывающийся с запросом LinQ как так:Добавление элемента в связанный WPF ListBox
private IQueryable<Feed> _feeds;
public IQueryable<Feed> Feeds
{
get
{
if (_feeds == null)
{
var feedsQuery = from f in _db.Feed orderby f.Title select f;
_feeds = feedsQuery;
}
return _feeds;
}
}
public Options()
{
InitializeComponent();
this.DataContext = Feeds;
}
(Для записи я также попробовал список, вместо IQueryable)
Все показывает вверх большой и у меня есть форма DataBound который позволяет редактировать запись, и все эти изменения работают очень хорошо, измененные данные отображаются в списке.
Проблема возникает с добавлением товара. В списке ничего не отображается. Данные поступают в базу данных отлично, но единственный способ увидеть данные - это закрыть и перезапустить мое приложение. Я использую код ниже в качестве примера:
Feed feed = new Feed()
{
ID = Guid.NewGuid(),
Url = "http://www.test.com",
Title = "Test"
};
_db.Feed.InsertOnSubmit(feed);
_db.SubmitChanges();
_db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues);
(с или без _db.Refresh ничего не происходит)
Что происходит?
Использование ObservableCollection будет недостаточным для решения проблемы, запрос необходимо снова запустить с базой данных –