Например:Как сделать операции внутри метода Select() в LINQ?
db.Images.Select(image => new ImageViewModel{
Image64 = //I want to make calcuation on the image.Uri to convert it toBase64
});
Я загрузить изображение и преобразовать его в Base64 затем назначить его на Image64
свойство ImageViewModel
. Есть ли способ сделать это?
EDIT
Я попытался следующие Image64 = FromAzureToBase64(image.AzureUri),
он бросает это исключение:
Дополнительная информация: LINQ к Entities не распознает метод «System.String FromAzureToBase64 (System.String) ', и этот метод не может быть переведен в выражение хранилища.
это метод (не проверено):
private static string FromAzureToBase64(string azureUri)
{
Uri blobUri = new Uri(azureUri);
CloudBlockBlob blob = new CloudBlockBlob(blobUri, StorageAccount.Credentials);
using (MemoryStream stream = blob.OpenRead() as MemoryStream)
{
byte[] arr = stream.ToArray();
var azureBase64 = Convert.ToBase64String(arr);
return azureBase64;
}
}
, что вы пробовали до сих пор? Я имею в виду, что это так же просто, как 'db.Images.Select (x => new {A = 1 * 5}), например. Вы можете даже вызвать другие методы, такие как 'A = GetSomeValue (x)' –
Я внесла поправки –