1

次の Ria Service 定義があります。

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 名前空間が見つからないと表示されます。

私が行っていることと、Web 上にある多くの例との唯一の違いは、AdventureWorksEntities データ コンテキストが別のビジネス オブジェクト dll にあることです。私がやろうとしているリポジトリパターンを使用する代わりに、コンテキストを直接クエリしようとしましたが、それもうまくいきません。

何か案は?Ria サービスがデータ アクセスを処理する別の DLL にアクセスできるようにすることは可能ですか、それとも同じプロジェクト内にある必要がありますか?

4

2 に答える 2

2

問題があったことは覚えていますが、以前は Ria サービスを別のプロジェクトに入れることができました。正確にはわかりませんが、参照と web.config (ホスティング Web サイト内) の 2 つを確認します。ria サービスを Web プロジェクトに追加すると、バックグラウンドですべてを正しく接続するいくつかの処理が行われます。

一時的に Web プロジェクトにサービスを追加してみて、何が追加されるかを確認してください。

于 2009-11-22T19:58:52.170 に答える
0

Resharperは.gsファイルとその名前空間を認識していないようです。R#を無効にするか、インテリセンスなしでコードを記述した場合、それは機能します。

于 2009-12-04T20:01:28.970 に答える