1

我有以下 Ria 服务定义:

namespace SilverlightTest.Web
{
    [EnableClientAccess()]
    public class ContactService : LinqToEntitiesDomainService<AdventureWorksEntities>
    {
        public IQueryable<Contact> GetContactSearch(string lastName)
        {
            ContactRepository rep = new ContactRepository();
            return rep.SearchByLastName(lastName);
        }
    }
}

当我编译解决方案时,我的 SilverlightTest 项目会创建 SilverlightTest.Web.g.cs 文件,并且在我查看它时会创建相应的 Context 对象。但是,当我尝试导入 SilverlightTest.Web 命名空间以访问上述服务的数据上下文类时,它说它找不到 Web 命名空间。

我正在做的事情与网络上的许多示例之间唯一的区别是我的 AdventureWorksEntities 数据上下文位于单独的业务对象 dll 中。我尝试直接查询上下文,而不是使用我正在尝试执行的存储库模式,但它也无法正常工作。

有任何想法吗?是否可以让 Ria 服务访问单独的 DLL 处理数据访问,或者它必须在同一个项目中?

4

2 回答 2

2

我以前可以将 Ria 服务放在一个单独的项目中,尽管我确实记得有问题。不确定它到底是什么,但我会检查两件事:您的参考资料和您的 web.config(在托管网站中)。当您将 ria 服务添加到 Web 项目时,它会在幕后做一些事情来正确连接所有内容。

可以尝试暂时向您​​的 Web 项目添加服务,看看它添加了什么。

于 2009-11-22T19:58:52.170 回答
0

Resharper 似乎无法识别 .gs 文件及其名称空间。如果您禁用 R# 或仅在没有智能感知的情况下编写代码,则它可以工作。

于 2009-12-04T20:01:28.970 回答