0
私のドメインクラスをDTOクラスにマッピングするメソッドdurningを呼び出したいのですが、多くの場合、LINQ to EntitiesまたはLINQ toオブジェクトに失敗してしまいました奇妙な別のエラー。 Actulalエラーは、 "LINQ to Entitiesはメソッド 'System.String ResizeToLogoImage(System.String)'を認識しません。このメソッドはストア式に変換できません。"asp.net web api 2 LINQ to Entitiesはメソッドを認識しません
マッピング方法:
public async Task<SingleCategory> SingleCategoryMapping(EventerApiContext context, int id)
{
var category = await context.Category.Select(c => new SingleCategory
{
CategoryId = c.CategoryId,
CategoryName = c.CategoryName,
CityId = c.CityId,
Events = context.Event.ToList().Where(e=>e.CategoryId == id).Select(e=> new EventForSingleCategory
{
EventId = e.EventId,
EventName = e.EventName,
EventLogo = ImageProcessor.ResizeToLogoImage(e.EventDetail.EventImage.EventImageBase64)
}).ToList()
}).SingleOrDefaultAsync(c => c.CategoryId == id);
return category;
}
メソッドが呼び出されます。
public static string ResizeToLogoImage(string base64String)
{
if (base64String == null)
{
return "NULL";
}
var imageToResize = Base64ToImage(base64String);
var resizedImage = ScaleImage(imageToResize, 50, 50);
return ImageToBase64(resizedImage, imageToResize.RawFormat);
}
は、私はエラーがEventLogoのプロパティマッピングの際に表示されている知っているが、私は何を行うにはより多くのアイデアを持っていません。
まあ、この式はSQLクエリでは翻訳できません。ですから、このメソッドを適用する前に 'IQueryable'世界から出なければなりません。質問:イベントとカテゴリの間にナビゲーションプロパティがありませんか? –