【发布时间】:2009-08-20 15:42:13
【问题描述】:
好的,这让我很头疼。我有一个 ListBox,我正在绑定到一个 linq 查询,如下所示:
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;
}
(作为记录,我也尝试过 List,而不是 IQueryable)
一切都很好,我有一个数据绑定表单,允许您编辑记录,所有这些更改都可以正常工作,修改后的数据显示在列表中。
问题来自我添加一个项目。列表中没有显示任何内容。数据很好地进入数据库,但查看数据的唯一方法是关闭并重新启动我的应用程序。我以下面的代码为例:
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 都不会发生)
发生了什么事?
【问题讨论】: