0

我在 VS2008 中遇到了一个不寻常的实体框架问题。问题是当我从现有数据库创建实体模型时,设计器添加了所有相应的表,但它似乎随机省略了我的一些外键字段。然而,如果我在浏览器中浏览模型,我可以清楚地看到这些字段已包含在内。

当在构建期间我开始收到多个错误,这些字段未映射时,这一点变得很明显。这导致我手动将设计器中的字段添加到相应的表中,并将它们映射到数据源。

然而,在此之后,我收到多个错误:错误 102 错误 10023:找不到要验证的概念模型。
错误 103 错误 10024:找不到要验证的存储模型。
错误 104 错误 10025:找不到要验证的映射模型。
错误 105 找不到要作为输入文件资源嵌入的概念架构节点 错误 106 找不到要作为输入文件资源嵌入的存储架构节点 错误 107 找不到要作为输入文件资源嵌入的映射节点

当我在 XML 编辑器中打开 edmx 文件时,该文件充满了波浪线。

我已经成功地在 VS2010 中创建了实体模型,但我们的客户端不在 4.0 框架中。

我已经确定其他人有问题,但我找不到任何资源来帮助解决问题。

任何建议将不胜感激。

4

1 回答 1

1

这可能是 EF1 不支持外键。因此,对于外键列,EF 将创建导航属性,但不会在实体上创建外键属性。您可以在模型浏览器中找到外部属性,但这是在表示数据库的模型中,而不是在概念模型中。请注意,导航属性是基于商店中的外键建模的,即使您没有暴露外键,您也不会丢失关系功能。换句话说 - 如果您在查询中使用导航属性,它们将被正确翻译为在 SQL 查询中使用外键值。在概念模型中具有外键属性非常有用的一件事是,当您想要推理或修改关系而不必加载相关实体时 - 如果您知道键值,您只需将外键属性设置为该值并且你已经完成了。这在 EF1 中是不可能的 - 每当您需要更改关系或针对相关实体进行查询时,您首先需要加载所述实体并使用导航属性。

于 2013-10-08T13:29:47.340 回答