C # .Net MVC É necessária uma referência de objeto para o campo não estático, método ou propriedade

Sou iniciante em c # e não consigo encontrar a solução usando a pesquisa

Tenho um modelo de banco de dados (EDM)

Criei um arquivo de classe na pasta models:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace photostorage.Models
{
    public class PhotosRepository
    {
        private fotostorageEntities db = new fotostorageEntities();

        public IEnumerable<photos> FindUserPhotos(string userid)
        {
            return from m in db.photos
                   select m;
        }

        public photos GetPhotosById(int photoid)
        {
            return db.photos.SingleOrDefault(d => d.id == photoid);
        }
    }
}

Em seguida, um criou um controlador para este modelo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using photostorage.Models;

namespace photostorage.Controllers
{
    public class PhotosController : Controller
    {
        //
        // GET: /Photos/
        public ActionResult ViewPhoto(string userid, int photoid)
        {
            photos CurrentPhoto = PhotosRepository.GetPhotosById(photoid);
            if (CurrentPhoto == null)
                return View("NotFound");
            else
                return View("ViewPhoto", CurrentPhoto);
        }
    }
}

Nos resultados, tenho um erro: é necessária uma referência de objeto para o campo não estático, método ou propriedade photostorage.Models.PhotosRepository.GetPhotosById (int);

Nome da tabela no banco de dados - fotos Connection EDM nameStrings - fotostorageEntities

Preciso de ajuda, porque eu realmente não sei a soluçã

questionAnswers(2)

yourAnswerToTheQuestion