1

私はそれがかなり標準的なものであることを知っていますが、解決策が私を逃れることを知っています. 私はエンティティを持っていますDocuments。私のサービスでは、DocumentsRepository.All()必要なものだけを呼び出して使用できますが、不要なデータをすべて持ち歩きたくありません。これを達成するには匿名オブジェクトを使用する必要があると思いますが、正確な実装は私を逃れます。

Documentsエンティティには columnとIdcolumnがありますUserId。これらの 2 つの値のみを取得するように LINQ を作成するにはどうすればよいですか?

PS

また、メソッドにはどのタイプを使用すればよいですか? かもしれませobjectんが、もっと具体的なものが欲しいです。

4

2 に答える 2

2

オリバーの回答に基づいて構築し、メソッドからそれを返したい場合は、動的に使用できます。

    public dynamic ReturnSomeData()
    {
        return context.Documents.Select(d => new
        {
            Id = d.Id,
            UserId = d.UserId
        });
    }

柔軟性のためにコンパイラチェックをトレードすることに留意する必要があります。

于 2013-06-14T07:43:58.853 に答える
1

これをメソッドに入れたい場合は、必要なすべての情報を含む型を作成する必要があります。

var selectedItems = context.Documents.Select(d => new
    {
        Id = d.Id,
        UserId = d.UserId
    });

編集

メソッドでの使用:

public class MyData
{
    public int Id { get; set; }
    public int UserId { get; set; }
}

public IEnumerable<MyData> GetMyDataFromDocuments()
{
    return context.Documents.Select(d => new MyData
        {
            Id = d.Id,
            UserId = d.UserId
        });
}
于 2013-06-14T07:42:10.627 に答える