我有一个使用Entity Framework 4.0和.NET 4.5构建的应用程序。当我使用默认代码生成项时,它为表生成DbContext
和POCOs
。
当我在运行时,每当我执行查询时,返回的对象始终是从原始类型继承的动态生成的代理类型。例如,如果我有Person
类型,则查询将始终返回从Person_48573435
继承的Person
(它不是确切的名称)。
但是,在我的单元测试中,这种情况不会发生,这会导致某些行为与上下文不同。
DbContext
实例化的唯一区别在于,在单元测试中,我明确地传入连接字符串,并且在运行时它是从web.config
文件中获取的。顺便说一句,我不得不改变TT,所以我可以引入一个接收连接字符串的构造函数。不确定Microsoft为何删除了ObjectContext TT中存在的构造函数。无论如何,除了这个代理服务外,一切正常。
问题是?什么控制查询返回对象的实例化方式?我可以做些什么来影响这种行为?