2011-08-10 10 views

答えて

6

ここで最も簡単な方法は、匿名型にフェッチすることで、その後AsEnumerableを経由して、残りのインプロセスを実行します。

return (from p in _db.P 
     join t in _db.TP on p.Id equals t.PId 
     select new { t.PId, t.Id }).AsEnumerable() 
     .Select(x => new TPE { PId = x.PId, TId = x.Id }) 
     .ToList(); 

またはすべての拡張でメソッドの構文:

return _db.P.Join(_db.TP, p => p.Id, t => t.PId, 
       (p, t) => new { t.PId, t.Id }) 
      .AsEnumerable() 
      .Select(x => new TPE { PId = x.PId, TId = x.Id }) 
      .ToList(); 
+0

ああ、それは動作します。どうもありがとう!また、私の問題が何かを知りました。私はそれをEntity Frameworkオブジェクトにマッピングしていましたが、明らかにADO.NETでそれを行うことはできません。 http://stackoverflow.com/questions/5325797/the-entity-cannot-be-constructed-in-a-linq-to-entities-queryを参照してください。 –

関連する問題