当前位置:编程学习 > C#/ASP.NET >>

EntityFramework5.0从sql sever 2012生成实体数据模型,报错:实体类型 Product 不是当前上下文的模型的一部分。

刚学习MVC4的EF5+LINQ技术,编了个例子测试一下,先在sql server2012里编了点测试数据,再在model中新建ado.net实体模型根据向导一步步生成的,编译生成通过,运行报错,求解是什么原因?(环境是VS2012)
代码如下:
HomeController.cs

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

namespace MvcApplication1.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            var db = new TestEntities();
            return View(db.Product.ToList());
        }

    }
}


Index.cshtml

@{
    Layout = null;
}
@using MvcApplication1.Models;
@model List<Product>
<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
        @foreach (var p in Model)
        {
            <p>@p.PNAME</p>
        }
    </div>
</body>
</html>

报错:


connectionString:
<connectionStrings><add name="TestEntities" connectionString="metadata=res://*/Models.TestModel.csdl|res://*/Models.TestModel.ssdl|res://*/Models.TestModel.msl;provider=System.Data.SqlClient;provider connection string="data source=THINK-THINK\THINK;initial catalog=Test;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /></connectionStrings>


edmx:

--------------------编程问答-------------------- TestModel,不是TestEntites --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
TestModel,不是TestEntites



没有“TestModel“命名空间 --------------------编程问答-------------------- 你看下你的TestModel生成了什么。 --------------------编程问答--------------------
引用 3 楼 caozhy 的回复:
你看下你的TestModel生成了什么。

我不是很理解TestModel和TestEntities是什么区别,这里的实体容器又是什么


补充:.NET技术 ,  LINQ
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,