Chr*_*ris 141 asp.net-mvc entity-framework visual-studio-2010 visual-studio asp.net-mvc-3
我是ASP.NET MVC(3)的新手,并且很难解决Visual Studio中的构建错误:
找不到类型或命名空间名称'DbContext'(您是否缺少using指令或程序集引用?)
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; }
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的两个错误是:
我错过了什么?
Sha*_*haz 199
我遇到过同样的问题.事实证明,您需要EntityFramework.dll引用(而不是System.Data.Entity).
我刚从MvcMusicStore应用程序中提取它,您可以从以下网址下载:http://mvcmusicstore.codeplex.com/
它也是如何在MVC中使用实体框架代码优先的有用示例.
Dar*_*rov 67
您需要将System.Data.Entity
assebmly 引用到您的项目或安装EntityFramework
NuGet包,它将为您设置一切.
小智 14
快速说明一下.它是DbContext,而不是DBContext.即小写'B'.我发现这一点,因为我必须同时intelesense没有工作,直到我试图输入完整的命名空间System.Data.Entity的......和名称同样的问题,最后它建议小写字母"B"选项: -
System.Data.Entity.DbContext
我使用VS2010时遇到了同样的问题.我知道这不是一个真正的答案.我只是觉得它可能对某人有帮助.我通过使用DBContext的完全限定名称解决了它.
代替
public class MachineDbContext : DbContext
Run Code Online (Sandbox Code Playgroud)
我用了
public class MachineDbContext : System.Data.Entity.DbContext
Run Code Online (Sandbox Code Playgroud)
并重建了该项目.突然VS很高兴,我甚至能够删除完全限定的名称,只使用DBContext.
如果你的编译器无法识别
确保
在您的 .csproj 文件中,您有以下参考
<Reference Include="EntityFramework、Version=4.1.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089、processorArchitecture=MSIL"/>
元素内
<项目组> ... </项目组>
其中包含对其他程序集的引用。
归档时间: |
|
查看次数: |
255282 次 |
最近记录: |