1

重複の可能性:
1 つのフィールドなしでエンティティ フレームワークからオブジェクトを取得する

私はasp.net mvcに取り組んでいます。現在、私はEF 4.1コードの最初のモデルを使用しています。ここにレコードのリストがあります(43)。私のクラスは、

public class MyTable
{
public string field1{get; set;}
public string field2{get; set;}
.
.
.
public string field20{get; set;}
} 

リストのようなリストとしてそれらを返しています。しかし、field20 を返してほしくありません。リスト内の特定のフィールドをスキップするにはどうすればよいですか。私はのように使用しました、

(from m in context.MyTable select new{m.field1,m.field2,...,m.field19}).ToList(); 

非常にうまく機能しています。しかし、次のようなラムダ式構文を使用して同じ結果が必要です

context.MyTable.Skip() or any etc.

特定のフィールドのみを一覧表示する方法。

4

1 に答える 1

1

まあ、あなたは書くことができます

context.MyTable.Select(x => new { x.field1, x.field2, ..., x.field19}).ToList();

19個のフィールドすべてを書きたくない場合は、MyTableクラスを実装させることができますIEnumerable

public class MyTable : IEnumerable<object>

public IEnumerator<object> GetEnumerator()
{
    List<object> list = new List<object>();
    list.Add(field1);
    list.Add(field2);
    ...
    list.Add(field20);
    return list.GetEnumerator();
}

System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
    return GetEnumerator();
}

そして、あなたは書くことができます

context.MyTable.Select(x => x.Take(19).ToList()).ToList();
于 2012-10-27T12:55:34.600 に答える