C# 哪个asp.net控件可用于绑定一个EF对象?
当我想从MainTable中获取更多行时,我使用了GridView和property SelectMethod,这样我就可以使用FK like(在GridView内部)从连接到MainTable的每个表中访问数据C# 哪个asp.net控件可用于绑定一个EF对象?,c#,asp.net,entity-framework,controls,C#,Asp.net,Entity Framework,Controls,当我想从MainTable中获取更多行时,我使用了GridView和property SelectMethod,这样我就可以使用FK like(在GridView内部)从连接到MainTable的每个表中访问数据 我想知道我是否可以使用某种方法绑定一个对象MainTable,在这个控件中,我可以进行一些html css设计,并访问(查看、编辑)与不断绑定的特定记录相关的所有数据。或者对于这种情况,至少有比GridView更好的方法吗?ObjectContext实例已被释放,不能再用于需要连接的操
我想知道我是否可以使用某种方法绑定一个对象MainTable,在这个控件中,我可以进行一些html css设计,并访问(查看、编辑)与不断绑定的特定记录相关的所有数据。或者对于这种情况,至少有比GridView更好的方法吗?
ObjectContext实例已被释放,不能再用于需要连接的操作。
此错误意味着您正试图在上下文被释放后访问它(错误非常清楚地指出:)。EF对导航属性使用延迟加载。因此,所发生的是,您正在访问一个导航属性,EF需要从上下文中获取数据,但上下文不再存在
有两种选择:
Include()
方法完成2,该方法指示EF急切地加载所选的导航属性。查看更多信息
编辑:如果要关闭延迟加载,可以通过不将导航属性标记为virtual
或在上下文级别将此代码添加到构造函数来实现每个属性:
public class MyContext : DbContext
{
public MyContext()
{
this.Configuration.LazyLoadingEnabled = false;
}
}
谢谢,这很有效!但还有一个问题,是否可以使用include with object代替od string path?我试图访问对象中与db相关的所有内容,这样我就可以简单地更新edmx模型,而不是在db中的某些内容发生更改时重写字符串,ASP.NET中有一个用于单个db记录的组件,名为
DetailsView
。有一个通用版本的include inDbExtensions
我编辑了我的文章,其中提供了有关禁用延迟加载的详细信息。
The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
public class MyContext : DbContext
{
public MyContext()
{
this.Configuration.LazyLoadingEnabled = false;
}
}