'DbContext' was not identified as a type or namespace.

asp.net-mvc asp.net-mvc-3 entity-framework visual-studio visual-studio-2010

Question

I am VERY new to ASP.NET MVC (3) and am having a hard time resolving a build error in Visual Studio:

The type or namespace name 'DbContext' could not be found (are you missing a using directive or an assembly reference?)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;

namespace MyProjectName.Models
{   
    public class MachineModel
    {
        // name
        [Required]
        [Display(Name = "Nom de la machine")]
        public string Name { get; set; }

        // IP
        [Required]
        [RegularExpression(@"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",
           ErrorMessage = "Donnez une adresse IPv4 valide.")]
        [Display(Name = "Adresse IP de la machine")]
        public string IP { get; set; }
    }

    public class MachineDbContext : DbContext
    {
        public DbSet<MachineModel> Machines{ get; set; }
    }
}

The two errors I am getting are:

  • The type or namespace name 'DbContext' could not be found (are you missing a using directive or an assembly reference?)
  • The type or namespace name 'DbSet' could not be found (are you missing a using directive or an assembly reference?)

What am I missing?

1
147
8/21/2013 7:38:08 AM

Accepted Answer

I had the same issue. Turns out, you need the EntityFramework.dll reference (and not System.Data.Entity).

I just pulled it from the MvcMusicStore application which you can download from: http://mvcmusicstore.codeplex.com/

It's also a useful example of how to use entity framework code-first with MVC.

199
5/18/2011 5:24:21 PM

Popular Answer

You need to reference the System.Data.Entity assebmly to your project or install the EntityFramework NuGet package which will setup everything for you.



Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow