나는 사용자가 자신을 등록 할 수있는 등록을 한 후 Home Page로 이동합니다. MVC3에서이 작업을 수행하지만 3Tier로 변환합니다. 프레 젠 테이션 및 DAL 만든 및 모델 폴더 및 DbContext뿐만 아니라 추가 및 Presentation.And 모델에서 삭제 된 BLL 어디에 내가 삽입, 삭제 및 업데이트에 대한 모든 논리를 쓰고 싶은 만들고 액세스 할 그것은 내 프레젠테이션에있는 내 컨트롤러에 있습니다. 어떻게해야합니까? 제발 이것에 가이드!프레 젠 테이션 레이어에서 BLL의 기능에 액세스
0
A
답변
0
전체 솔루션을 다시 작성 해달라고 요청한 것처럼 보입니까?
온라인 시작 키트가 많으므로이를 수행하는 방법에 대한 힌트를 얻을 수 있습니다. 동일한 결과를 얻는 데는 여러 가지 방법이 있습니다. 내가하는 일에 대한 간단한 개요를 알려 드리겠습니다.
고객에 대한 참조를 작성하기 위해 솔루션에 맞게 수정할 수 있습니다.
나는 MyProject.DomainModel
이라는 솔루션을 가지고 있습니다. 내가 MyProject.EntityFramework
라는 프로젝트를
public class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
:이 프로젝트에서 내 고객 클래스가 있습니다. 여기에 모든 저장소 클래스가 있습니다. 고객 저장소 방법의 예 : 다음 다른 프로젝트가 MyProject.Services
라고 한
public IEnumerable<Customer> FindAll()
{
return DatabaseContext.Customers;
}
. 고객 서비스가 고객 저장소를 호출합니다. 서비스 계층은 필요 없지만 일부 논리가 필요하거나 다른 리포지토리를 호출해야 할 때 서비스 계층을 사용합니다.
public interface ICustomerService
{
IEnumerable<Customer> FindAll();
}
public class CustomerService : ICustomerService
{
private readonly ICustomerRepository customerRepository;
public CustomerService(ICustomerRepository customerRepository)
{
this.customerRepository = customerRepository;
}
public IEnumerable<Customer> FindAll()
{
return customerRepository.FindAll();
}
}
당신은 CustomerService를 생성자가 ICustomerRepository의 인스턴스를받는 것을 볼 수 있습니다 : 이것은 내가 서비스 계층에서 저장소 메서드를 호출 할 방법이다. 이것은 Autofac
과 같은 의존성 주입 프레임 워크에 의해 처리됩니다.
public class CustomerController : Controller
{
private readonly ICustomerService customerService;
public CustomerController(ICustomerService customerService)
{
this.customerService = customerService;
}
public ActionResult List()
{
IEnumerable<Customer> customers = customerService.FindAll();
return View(customers);
}
}
이보다 훨씬 더있다 :
는 컨트롤러에서 모든 고객을 표시하는 목록보기가있는 목록 작업 방법이있을 것이다. 시동기 키트를 온라인으로 다운로드하고 올바른 경로로 연결하기 위해 작업해야합니다. 제가 제시 한 것은 일반적인 개요입니다.이 정보가 도움이되기를 바랍니다.
관련 문제
- 1. Facebook 프레 젠 테이션
- 2. 클램프 프레 젠 테이션 값
- 3. 서브 뷰 프레 젠 테이션 지연
- 4. 프레 젠 테이션 데이터를 각 컨트롤러에 넣으시겠습니까?
- 5. 안드로이드 애플 리케이션 프레 젠 테이션
- 6. 프레 젠 테이션 js 대 기능 js : 그들을 구분합니까? 일반 아키텍처?
- 7. 실버에서 Powerpoint 프레 젠 테이션에 워크 시트 추가
- 8. 데이터 레이어에서 둘 이상의 데이터 공급자에 액세스
- 9. 젠 카트의 .php 파일에 액세스
- 10. 데이터 액세스 레이어에서 계산
- 11. JPA API없이 클라이언트/프리젠 테이션 레이어에서 JPA 엔터티 사용
- 12. 데이터베이스 기능에 액세스
- 13. 원격 PC의 기능에 액세스
- 14. 정적 기능에 액세스
- 15. 전화없이 Whatsapp 기능에 액세스
- 16. JQuery와 기능에 액세스
- 17. 프리젠 테이션 모델
- 18. 프리젠 테이션 레이어의 컨트롤 수정
- 19. 데이터 액세스 레이어에서 연결 및 트랜잭션 공유
- 20. 데이터베이스 액세스 레이어에서 코드 중복을 줄이려면 어떻게해야합니까?
- 21. 한 레이어에서 다른 레이어로 b2Body에 액세스
- 22. 슈 프레 System의 환율
- 23. 슈 프레 오류
- 24. 프레 겔 BSP : 작업자
- 25. Cordova InAppBrowser의 Cordova 기능에 액세스
- 26. 클래스 라이브러리에서 로깅 기능에 액세스
- 27. globals()에서 인쇄 기능에 액세스
- 28. phonegap 앱에서 webworks 기능에 액세스
- 29. WebMethod에서 코드 배후 기능에 액세스
- 30. 구성 요소의 기능에 직접 액세스
BLL에는 삽입, 삭제, 업데이트 할 수 없습니다. 사실 내가 본 것에서는 비즈니스 계층이 정말로 필요하지 않습니다. 컨트롤러에서 DAL을 직접 사용하기 만하면됩니다. – MikeSW