在我的MVC 4项目的模型文件夹中使用EF模型,我成功地使用名为 Prod 的编码类和控制器方法在剃刀视图中显示数据如下:
public ActionResult Index()
{
IEnumerable<Prod> Pr = from p in db.Products
select new Prod
{
ProductId = p.ProductID,
ProductName = p.ProductName
};
return View(Pr);
}
现在我尝试使用类库中的模型而不是当前模型来做同样的事情,所以我在我的解决方案中添加了一个新的类库,然后添加了一个使用相同连接字符串的模型,并映射了它实体,然后在我的MVC项目中添加对新类库的引用,并在下一个 MyController 和 Prod 类的顶部放置:
using MyClassLibrary;
然后我删除了旧模型,现在当我尝试显示视图时,我收到以下错误:
无法加载指定的元数据资源。
请帮忙吗?
答案 0 :(得分:1)
移动或重命名项目时,数据上下文(.edmx)位于Entity Framework连接字符串的元数据部分必须更改
你可以试试
connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;
而不是
connectionString="metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.ssdl|res://*/Models.MyModel.msl;
或尝试删除您的上下文并重新创建它,然后检查它自动添加的连接字符串。
答案 1 :(得分:0)
您需要将您的连接字符串放在Mc4 web项目的web.config中
答案 2 :(得分:0)
您需要在连接字符串中提及数据源。
如果您尚未使用任何其他web.config文件进行查看。使用通用web.config文件并使用新数据源名称,用户和密码上传连接字符串。