-1

在我的 MVC 4 项目的Models 文件夹中使用 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 项目中添加了对新类库的引用,并将下一个放在MyControllerProd类的顶部:

using MyClassLibrary;

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

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

请问有什么帮助吗?

4

3 回答 3

1

当您移动或重命名项目时,数据上下文 (.edmx) 位于实体框架连接字符串的元数据部分中,必须更改

你可以试试

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;

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

于 2013-03-08T14:00:09.137 回答
0

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

于 2013-03-08T13:39:29.297 回答
0

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

如果您没有使用任何其他 web.config 文件进行视图。使用您的通用 web.config 文件并上传带有新数据源名称、用户和密码的连接字符串。

于 2013-03-08T13:47:26.540 回答