まず、コメントに従って、既存のコードの各行が最初に何をするかを正確に理解する必要があります。(また、.NET の命名規則に従うようにしてください。) コードのどの部分が何をするのか推測している場合は、使用している LINQ プロバイダー (Entity Framework) 向けの優れたチュートリアルを読むことをお勧めします。 ?)。
Mapper.ToHotelObject
何が機能するか、またはシーケンス全体を変換する方法が既に存在するかどうかはよくわかりません。ただし、これは機能するはずです:
public List<BO.Hotel> GetHotels()
{
// Note: you may want a using statement here...
TripBagEntities db = new TripBagEntities();
var hotels = db.HotelEntities
.Where(m => m.id < 10)
.AsEnumerable()
.Select(Mapper.ToHotelObject)
.ToList();
}
または、メソッド グループの変換が機能しない場合:
public List<BO.Hotel> GetHotels()
{
// Note: you may want a using statement here...
TripBagEntities db = new TripBagEntities();
var hotels = db.HotelEntities
.Where(m => m.id < 10)
.AsEnumerable()
.Select(m => Mapper.ToHotelObject(m))
.ToList();
}
クエリ全体に「ドット表記」を使用したことに注意してください。これは、 や などを使用しているときに作業が簡単になるためAsEnumerable
でToList
あり、クエリ式はとにかく複雑ではありませんでした。
このAsEnumerable
呼び出しは、クエリを LINQ to Objects に "シフト" するため、クエリから SQL への変換部分で SQL への変換を試みる必要がなくなりMapper.ToHotelObject
ます (失敗すると思います)。