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 --------------------编程问答--------------------
没有“TestModel“命名空间 --------------------编程问答-------------------- 你看下你的TestModel生成了什么。 --------------------编程问答--------------------
我不是很理解TestModel和TestEntities是什么区别,这里的实体容器又是什么
补充:.NET技术 , LINQ