これはNHibernateに固有のものではないかと疑いがあります。しかし、私は、私は基本的には、関連する「クライアント」のオブジェクトを取得します.... ODATA基準を使用してデータベースを照会したい、とDTO「APIにそれらを変換し、次のようにNHibernateデータベースに対するODataとasp.net MVC webapiを使ったクエリ
public class ClientController : ApiController
{
// GET /api/<controller>
public IQueryable<Api.Client> Get()
{
return Repositories.Clients.Query().Select(c => Mapper.Map<Client, Api.Client>(c));
}
....コードをしています。クライアント'。
しかし、コードはそのままで動作しません。 NHibernateはMapperを使って何をするべきかを知らないので、実際には.Selectの前にクエリが来ることを望んでいます。しかし、私は最初にオダータの質問を得ることができないのですか?
私は
return Repositories.Clients.Query().Select(c => Mapper.Map<Client, Api.Client>(c)).ToList().AsQueryable();
を行うしかし、あなたは上のODataクエリを実行するために、データベースからすべてのクライアントを取得する必要がありますように、そのビットが嫌だ場合、それは動作します。
ODataクエリの後に "選択"が表示されるのはどうしてですか?またはこれにアプローチする別の方法?
なりサポートしています。あなたはマッピングインターフェイスを経由してデータベースに戻るクエリを必要とします..... –