C # .Net MVC Se requiere una referencia de objeto para el campo, método o propiedad no estático

Soy junior en C # y no puedo encontrar la solución usando search

Tengo un modelo de base de datos (EDM)

He creado un archivo de clase en la carpeta de modelos:

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);
        }
    }
}

El siguiente creó un 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);
        }
    }
}

En los resultados, tengo un error: se requiere una referencia de objeto para el campo, método o propiedad no estático photostorage.Models.PhotosRepository.GetPhotosById (int);

Table name in database - photos EDM connectionStrings name - fotostorageEntities

Necesito ayuda porque realmente no conozco la solución.

Respuestas a la pregunta(2)

Su respuesta a la pregunta