MVC 4项目使用类库EF模型

时间:2013-03-08 13:31:40

标签: entity-framework asp.net-mvc-4

在我的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;

然后我删除了旧模型,现在当我尝试显示视图时,我收到以下错误:

无法加载指定的元数据资源。

请帮忙吗?

3 个答案:

答案 0 :(得分:1)

移动或重命名项目时,数据上下文(.edmx)位于Entity Framework连接字符串的元数据部分必须更改

你可以试试

connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.s‌​sdl|res://*/MyModel.msl;

而不是

connectionString="metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.s‌​sdl|res://*/Models.MyModel.msl;

或尝试删除您的上下文并重新创建它,然后检查它自动添加的连接字符串。

答案 1 :(得分:0)

您需要将您的连接字符串放在Mc4 web项目的web.config中

答案 2 :(得分:0)

您需要在连接字符串中提及数据源。

如果您尚未使用任何其他web.config文件进行查看。使用通用web.config文件并使用新数据源名称,用户和密码上传连接字符串。