The type or namespace name 'Objects' does not exist in the namespace 'System.Data'
Solution 1:
You need to add a reference to the .NET assembly System.Data.Entity.dll.
Solution 2:
If you are using Entity Framework 6, the name space has changed. You want to use
System.Data.Entity.Core.Objects.ObjectQuery
Solution 3:
Upgraded from EF5 to EF6 nuget a while back and kept encountering this issue. I'd temp fix it by updating the generated code to reference System.Data.Entity.Core.Objects
, but after generation it would be changed back again (as expected since its generated).
This solved the problem for good:
http://msdn.microsoft.com/en-us/data/upgradeef6
If you have any models created with the EF Designer, you will need to update the code generation templates to generate EF6 compatible code. Note: There are currently only EF 6.x DbContext Generator templates available for Visual Studio 2012 and 2013.
- Delete existing code-generation templates. These files will typically be named <edmx_file_name>.tt and <edmx_file_name>.Context.tt and be nested under your edmx file in Solution Explorer. You can select the templates in Solution Explorer and press the Del key to delete them.
Note: In Web Site projects the templates will not be nested under your edmx file, but listed alongside it in Solution Explorer.
Note: In VB.NET projects you will need to enable 'Show All Files' to be able to see the nested template files.- Add the appropriate EF 6.x code generation template. Open your model in the EF Designer, right-click on the design surface and select Add Code Generation Item...
- If you are using the DbContext API (recommended) then EF 6.x DbContext Generator will be available under the Data tab.
Note: If you are using Visual Studio 2012, you will need to install the EF 6 Tools to have this template. See Get Entity Framework for details.- If you are using the ObjectContext API then you will need to select the Online tab and search for EF 6.x EntityObject Generator.
- If you applied any customizations to the code generation templates you will need to re-apply them to the updated templates.
Solution 4:
if you want to use "System.Data.Objects.EntityFunctions"
use "System.Data.Entity.DbFunctions" in EF 6.1+