实体命名空间未出现在 Silverlight 项目中

Entity Namespace does not appear in Silverlight project

我有一个应用 MVVM 模式的 Silverlight Web 项目。在我的整个解决方案中,我有 4 个项目。

项目 "A3",其中包含我所有的视图和视图模型。

项目"A3.Web",其中包含我的主要html文件、图像、声音文件等

项目 "A3Lib",其中包含我的 XAML 绑定转换器和我创建的其他有用的 classes。

项目 "A3Lib.Web",其中包含数据模型和域逻辑。

我所有的实体模型都在我的 DataModels 文件夹中,我所有的域服务服务器端代码都在 DomainLogic 文件夹中。我在名为 "Common".

的 DataModels 文件夹中创建了一个新文件夹

所以当我想将数据模型添加到我的 VM 时,我尝试了 "using A3Lib.Web.DataModels.Common;" 但没有找到命名空间。

问题:当我向 DataModels 文件夹添加新文件夹和新实体模型时,我在 "A3" 项目的 View 或 ViewModel 中看不到命名空间。

但是,我已经有现有代码(由其他人添加)并且他添加的模型显示得非常好(在视图或 VM 中使用......时)。

我检查了 web.config 以确保连接字符串存在并且正确。我还尝试向项目的基础 class 添加一个全新的上下文(其他上下文所在的位置),但这没有帮助。我的项目根本无法解析或查看我创建的数据模型命名空间。

谢谢

由良

Silverlight 应用程序通过生成的代码查看服务器端项目的模型和命名空间 - 您应该在 A3Lib 项目的 Generated_Code 文件夹中看到它。如果它不存在,那么代理 classes 不会在构建时生成。要检查的几件事:

  1. class 不是私人的(嘿 - 有时是简单的事情)
  2. 如果使用域服务,服务需要至少有 1 个方法 returns IQueryable 或 IEnumerable(即使方法 returns 为 null)才能看到 class在 Silverlight 端域上下文中
  3. 如果 class 只是您想要与客户端共享的实用程序 class,请将文件另存为 classname.shared.cs,代理将获取它。
  4. 确保项目引用是针对项目的,而不是其他位置的(可能较旧的).dll。

这就是我根据提供的信息得到的全部信息。