0

linq クエリからいくつかのレコードを取得しようとしています

dataentities db = new dataentities();
db.Tabel1.Select(x=> new lcclsAccDueList {LedgerName ,LedgerId,Amount ,AmountInString ,Expr2,Name ,StopID ,VIP  }).ToList();

このクラスを作りました

 public class lcclsAccDueList
    {
        public string LedgerName { get; set; }
        public decimal LedgerId { get; set; }
        public Nullable<decimal> Amount { get; set; }
        public string AmountInString { get; set; }
        public Nullable<int> Expr2 { get; set; }
        public string Name { get; set; }
        public Nullable<decimal> StopID { get; set; }
        public Nullable<bool> VIP { get; set; }
    }

次のようなすべてのレコードを選択する他の方法はありますか

dataentities db = new dataentities();
db.Tabel1.Select(x=> new lcclsAccDueList { * }).ToList();
// * indicates select all records 
4

1 に答える 1

3

すべてのプロパティを取得してマップするlcclsAccDueListクラス コンストラクターを作成できます。source

public class lcclsAccDueList
{
    public lcclsAccDueList() {}
    public lcclsAccDueList(tableItem source)
    {
        LedgerName = source.LedgerName;
        LedgerId = source.LedgerId;
        // (...)
    }

    public string LedgerName { get; set; }
    public decimal LedgerId { get; set; }
    // (...)
}

そして、それをクエリ内で使用します。

dataentities db = new dataentities();
db.Tabel1.Select(x => new lcclsAccDueList(x)).ToList();

または、 automapperなどの自動マッピング ライブラリを使用できます。

マップを作成:

Mapper.CreateMap<tableItem, lcclsAccDueList>();

そして、クエリ内で使用します:

dataentities db = new dataentities();
db.Tabel1.Select(x => Mapper.Map<lcclsAccDueList>(x);).ToList();
于 2013-08-31T07:11:40.727 に答える