2016-04-20 17 views
1

<User>にはSingleResult.Create()を使用してアクセスしようとしています。SingleResult Web API削除クエリー可能

ここでの問題は、私のAPIが[1]要素を含むラップされたオブジェクトを返すことです。

{"FirstName":"John","LastName":"Doe","UserName":"JohnDoe","Id":1} 

私は私のSingleResult<T>

から{"Queryable":[]}をしてください削除したいと思います:SingleResult<T>を使用している場合、私はそれがこのようなタイプの1つの要素を返すことが可能である見てきた

{"Queryable":[{"FirstName":"John","LastName":"Doe","UserName":"JohnDoe","Id":1}]} 

ヘルプ:D

+1

あなたの質問は何ですか? –

+0

質問を破棄して既存の回答を無効にしないでください。 – Undo

+0

私のコードを削除したい、私はそれをしてはいけません。それは間違いでした。 私は個人的な影響を受けています。 – MagicTester

答えて

2

問題は、あなたのSingleResult.Create()がエンティティ用のラッパーオブジェクトを作成していて、あなたが望むものはエンティティ自体です。オブジェクトをラップしない(別の考え方がない)プロジェクトの内部メソッドを使用するか、メソッドのシグネチャを変更してエンティティを直接返します。

[HttpGet] 
public virtual TEntity GetById(int id) 
{ 
    try 
    { 
     var data = GetDataById(id); 
     return data; 
    } 
    catch (Exception e) 
    { 
     throw e; 
    } 
} 

public virtual TEntity GetbyId(int id) 
{ 
    var data = _ctx.Set<TEntity>().Where(e => e.Id == id); 
    var entity = data.FirstOrDefault(); 
    return entity; 
} 
関連する問題