【问题标题】:MVC Entity Framework Conundrum: "missing using directive or an assembley reference?"MVC 实体框架难题:“缺少 using 指令或汇编引用?”
【发布时间】:2014-10-14 05:59:53
【问题描述】:

这个项目曾经奏效。我对 Web.Config 中的连接字符串感到困惑,试图让它与 .accdb 文件一起使用。忘记那个。 但现在我无法回到家从事工作项目。

HomeController.cs 代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using oesac.Models;


namespace oesac.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {


     oesacEntities_connection _db;



        public HomeController()
        {

        _db = new oesacEntities_connection();


        }

==============================

E:\oesac_MVC\Controllers\HomeController.cs(52,42): 错误 CS1061: 'oesac.Models.oesacEntities_connection' 不包含“课程”的定义,并且没有扩展方法“课程”接受第一个参数可以找到类型“oesac.Models.oesacEntities_connection”(您是否缺少 using 指令或程序集引用?)

(_db.Courses 有下划线,只是 Courses 有下划线)

//SEARCH BY COURSE TITLE
var courses = (from m in _db.Courses select m);

=========================

实体容器名称为: “oesacEntities_connection”

它有 2 个表格,课程和赞助商,当我在 .edmx 窗口中单击鼠标右键并选择“从数据库更新模型”时,它会刷新表格。 所以数据库就在那里,VS 2010 可以看到它。 但由于某种原因,在引用所有这些方面存在脱节。 如果我在出现“你想继续”的错误后轻而易举地通过弹出窗口,我会得到一个包含此错误的网页:

描述:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当地修改您的源文件。

解析器错误消息:无法加载类型“oesac.MvcApplication”。

来源错误:

第 1 行:

这就是 Global.asax.cs 中的内容:

namespace oesac
{


    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AuthConfig.RegisterAuth();

我在想,如果它是蛇,它会咬我。但是在这个 MVC 梦幻世界里有点太新了。

【问题讨论】:

    标签: visual-studio-2010 asp.net-mvc-4 entity-framework-4


    【解决方案1】:

    好的,如果其他人能更好地理解这一点,我可以给他们打上绿色复选标记以获得正确答案。但是,工作中的一位朋友说,有时使用 EF,您只需要擦干净石板并添加一个新的 Entity Framework 类。而且不要太聪明。我已经更改了 VS 2010 .edmx 文件中表的名称,就像它说的那样,并且 Gremlins 以某种方式接管了。

    工作中的朋友和其他 2 个人在第一个主要的 MVC 项目中拔出所有头发后才意识到这一点。

    而且,是的,我确实尝试了在 VS 中右键单击 .edmx 中的“从数据库更新模型”的所有笨拙。

    【讨论】:

    • mumbo jumbo...大声笑...这句话暴露了问题。当您从数据库更新时,您实际上并不了解 UI 在做什么,因此您不知道什么时候搞砸了。如果您使用版本控制,这将是一个好主意。重新生成数据库后,比较以前的和新的上下文,看看有什么区别......
    • 好吧,在 VS .edmx 视图中,我有 2 个表,我使用了别名。 tblCourses 变成了课程。 tblSponsors 成为赞助商。然而,在查看模型浏览器和实体时,它说一个是 tblCourses,一个是赞助商。所以,就是这样,但无论有没有版本控制,我都无法更改。
    猜你喜欢
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 1970-01-01
    相关资源
    最近更新 更多