Web API プロジェクト ASP.NET MVC 4.0 RC 内のエンティティ フレームワークを使用して、ODP.net で Odata フィルターを使用しようとしています。OwnDTO の IQueryable を返したい。詳細なしで内部 500 エラーが発生します。webapi RC にエラー生成のバグがあることは知っていますが、バグが私の問題だとは思いません。
    Get http://localhost:51744/api/Owner  called using Fiddler
    [Queryable]
    public IQueryable<OwnDTO> Get()        
    {            
        using (Entities context = new Entities())
        {
            var query = from item in context.Owners
                        select
                        new OwnDTO
                        {
                            Name = item.Name
                        };
            return query.AsQueryable();
        }
    }
//非常に単純な例
 public class OwnDTO
    {
        public string Name;
    }
Oracle EF によって生成されたクラス (DAO) を使用して Get から戻る必要はありませんが、EntityObject をより使いやすいインターフェイスに置き換えればできることはわかっています。IEnumerable を返すと動作しますが、Odata フィルターが必要です。
誰かが実際の例を望んでいる場合に備えて更新してください。Automapper または simliar を linq で使用し、コンテキストを注入する必要があります。
    [Queryable]
    public IQueryable<OwnDTO> Get()        
    {            
        {
            var query = from item in Hack._EFContext.Owners
                        select
                        new OwnDTO
                        {
                            Name = item.Name
                        };
            return query.AsQueryable();
        }
    }
それは正常に動作しますが、Odata は RC 後に削除されたようです。そのため、別のパスを検索する必要があります。