我想用从另一个DataContext检索到的记录来更新一个LinqDataSource。问题是LinqDataSource的DataContext似乎没有公开,所以我无法访问它来将新对象附加到数据源的上下文中。
这样做的正常方式是什么?或者我应该直接丢弃LinqDataSource
发布于 2010-02-02 17:50:15
这是一个很好的理由--你不能在不同的DataContexts之间共享对象。
如果使用LinqDataSource的OnContextCreating事件,您可以将正确的实例附加到数据源,即从其中检索第二个实体的实例,以便它们都来自相同的DataContext:
ASPX:
<asp:LinqDataSource .... OnContextCreating="GetDataContext" ... />C#:
protected void GetDataContext(object sender, LinqDataSourceContextEventArgs e)
{
e.ObjectInstance = MyDataContext.Current; // assuming that Current is the ambient instance
}https://stackoverflow.com/questions/924312
复制相似问题