2011-04-25 3 views
1

필요하며 내가 검색C# 닷넷 MVC 참조 나는 C#에서 주니어 해요 비 정적 필드, 메서드 또는 속성

나는 데이터베이스 모델이에게 사용 (EDM)

을 해결책을 찾을 수 없습니다 객체

나는 모델 폴더에 클래스 파일을 만들었습니다

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

다음 하나를 만들어이 모델에 컨트롤러 :

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

결과에 오류가 있습니다. 객체 참조가 비 정적 필드, 메소드 또는 속성에 필요합니다. photostorage.Models.PhotosRepository.GetPhotosById (int); 데이터베이스에

테이블 이름 - 사진 EDM connectionStrings 이름 - 나는 정말 솔루션을 잘 모릅니다 원인 fotostorageEntities

는 도움이 필요합니다.

답변

3

현재 static 메서드로 GetPhotosById을 호출하고 있습니다. PhotosRepository의 인스턴스를 만들어야합니다.

public ActionResult ViewPhoto(string userid, int photoid) 
    { 
     PhotosRepository photosRepository = new PhotosRepository(); 
     photos CurrentPhoto = photosRepository.GetPhotosById(photoid); 
     if (CurrentPhoto == null) 
      return View("NotFound"); 
     else 
      return View("ViewPhoto", CurrentPhoto); 
    } 
+0

감사합니다! 당신의 unswer가 나를 도왔습니다! –

0
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 
    { 
     PhotosRepository objPhotosRepository = new PhotosRepository(); 
     // 
     // GET: /Photos/ 
     public ActionResult ViewPhoto(string userid, int photoid) 
     { 
      photos CurrentPhoto = objPhotosRepository.GetPhotosById(photoid); 
      if (CurrentPhoto == null) 
       return View("NotFound"); 
      else 
       return View("ViewPhoto", CurrentPhoto); 
     } 
    } 
}