Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用EF对象作为页面内母版页的成员_C#_Asp.net_Entity Framework 4 - Fatal编程技术网

C# 使用EF对象作为页面内母版页的成员

C# 使用EF对象作为页面内母版页的成员,c#,asp.net,entity-framework-4,C#,Asp.net,Entity Framework 4,如果我有一个设置,其中母版页有一个成员,它是EF生成的对象,我想在页面本身中使用这个成员(但是母版页中也需要它) 目前,我在母版页Page_Init事件中有一个using循环来建立成员。但是,如果我尝试在页面中获取该属性,我会得到一个关于“ObjectContext实例已被释放…”的错误,这是很公平的(它在它自己的using循环中,但是这是一个不同的OC实例,所以它会抛出此错误) 解决这种情况的最佳/首选方法是什么?是在母版页pre_init事件中打开对象上下文,然后在母版页的Page_disp

如果我有一个设置,其中母版页有一个成员,它是EF生成的对象,我想在页面本身中使用这个成员(但是母版页中也需要它)

目前,我在母版页Page_Init事件中有一个using循环来建立成员。但是,如果我尝试在页面中获取该属性,我会得到一个关于“ObjectContext实例已被释放…”的错误,这是很公平的(它在它自己的using循环中,但是这是一个不同的OC实例,所以它会抛出此错误)

解决这种情况的最佳/首选方法是什么?是在母版页pre_init事件中打开对象上下文,然后在母版页的Page_dispose事件中对其进行处理,还是在页面中使用第二个OC实例,然后通过对照母版页的对象ID检查EF对象的ID来提取EF对象的本地版本


谢谢,Psy

加载母版页时,您不能创建一个POCO,并使其成为派生页可以访问的受保护属性。导致1次数据库访问。

加载母版页并使其成为派生页可以访问的受保护属性时,您不能创建POCO吗。结果会导致1次数据库访问。

最好的做法是不首先在UI层中使用对象上下文。您应该创建一个业务/数据访问层来代理与数据库的通信。

最好不要首先在UI层中使用对象上下文。您应该有一个业务/数据访问层来代理与数据库的通信。

同意+1.最好还是把它扔到仓库里。同意+1.最好还是把它扔进仓库。