我在访问类中的Entity Model对象时遇到问题。这是我第一次使用Visual Studio 2012,我认为可能会有一些与此问题相关的更改。不知何故,当我访问实体模型对象时,只列出了表模型。我无法访问该对象的任何属性或方法。
我不确定我是否做错了什么,我正在做我曾经在Visual Studio 2010上做的事情而没有任何问题。
提前感谢您的帮助。
答案 0 :(得分:2)
VS2010默认会生成基于ObjectContext
的上下文和基于EntityObject
的实体。 VS2012默认生成基于DbContext
的上下文和基于POCO的实体。您可以通过在属性中翻转“代码生成策略”来更改默认值。在VS2012中,“默认”将生成ObjectContext
和EntityObject
,而“无”将使用T4模板(默认情况下将生成DbContext
和POCO)。请注意,当从“无”转到“默认”时,您可能需要删除T4模板(.tt文件),或者最终可能会有两组实体 - 基于POCO和EntityObject。
DbContext
是基于ObjectContext
构建的简化API,与POCO实体一起,是目前使用Entity Framework的首选方式。您可能无法使用DbContext
执行某些较低级别的操作,在这种情况下,您可以使用ObjectContext
这样下拉到IObjectContextAdapter
:
((IObjectContextAdapter)dbCtx).ObjectContext