ذخیره و بازیابی عکس با استفاده از LINQ در سی شارپ

با فرض اینکه یک برنامه به صورت زیر دارید:
save-and-retrieve-photos-using-linq-in-csharp
می توانید آخرین عکس ذخیره شده در دیتابیس را با استفاده از کد زیر نمایش دهید :

using System;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication14
{
    public partial class Form1 : Form
    {       
        public Form1()
        {
            InitializeComponent();
        }

        public byte[] imageToByteArray(System.Drawing.Image imageIn)
        {
            MemoryStream MemoryStream1 = new MemoryStream();
            imageIn.Save(MemoryStream1, System.Drawing.Imaging.ImageFormat.Gif);
            return MemoryStream1.ToArray();
        }

        public Image byteArrayToImage(byte[] byteArrayIn)
        {
            MemoryStream MemoryStream1 = new MemoryStream(byteArrayIn);
            Image returnImage = Image.FromStream(MemoryStream1);
            return returnImage;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            OpenFileDialog OpenFileDialog1 = new OpenFileDialog();

            if (OpenFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                byte[] ImageBytes = this.imageToByteArray(Image.FromFile(OpenFileDialog1.FileName));
                tableImage image = new tableImage() { Image = ImageBytes };
                SaveImageDataContext context = new SaveImageDataContext();
                context.tableImages.InsertOnSubmit(image);
                context.SubmitChanges();
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SaveImageDataContext context = new SaveImageDataContext();
            tableImage lastInsertedImage = context.tableImages.OrderByDescending(image => image.Id).First();
            this.pictureBox2.Image = this.byteArrayToImage(lastInsertedImage.Image.ToArray());
        }
        
    }
}