我有以下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 Services访问单独的DLL处理数据访问,或者它是否必须在同一个项目中?
答案 0 :(得分:2)
我以前能够将Ria服务放在一个单独的项目中,尽管我确实记得有问题。不确定它究竟是什么,但我会检查两件事:你的引用和web.config(在托管网站中)。当您将ria服务添加到Web项目时,它会在幕后执行一些操作,正确地连接所有内容。
可以尝试暂时向您的网络项目添加服务,看看它添加了什么。
答案 1 :(得分:0)
似乎Resharper无法识别.gs文件及其名称空间。如果您禁用R#或只是没有知识产权的代码,它就会起作用。