Entity Framework를 사용하여 저장 프로시저에서 데이터 검색
웹 개발 영역에서는 애플리케이션에 데이터 세트를 채워야 하는 경우가 종종 발생합니다. 데이터 소스에서. 데이터베이스와 상호 작용하기 위한 개체 지향 인터페이스를 제공하는 Entity Framework가 작동하는 곳입니다. 그러나 저장 프로시저에서 데이터를 검색할 때 특정 문제에 직면할 수 있습니다.
SQL Server에서 다음 저장 프로시저를 고려하십시오.
ALTER PROCEDURE dbo.SearchProducts @SearchTerm VARCHAR(max) AS BEGIN DECLARE @query VARCHAR(max) SET @query = 'SELECT * FROM dbo.Products WHERE Name LIKE ''%' + @SearchTerm + '%''' EXEC(@query) END
이 저장 프로시저에서 데이터를 검색하려는 시도에서 Entity Framework 6.1.1을 사용하여 저장 프로시저를 작성하고 GridView 컨트롤을 채우는 경우 다음 C# 코드는 다음과 같습니다. 채용:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.SearchProducts(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
그러나 ASP.NET 애플리케이션에서 코드를 실행하면 결과 변수가 원하는 IEnumerable 데이터 세트 대신 -1을 반환하는 예외가 발생합니다. 이 문제를 해결하고 데이터를 성공적으로 검색하려면 다음 단계를 따라야 합니다.
저장 프로시저를 함수로 가져오기:
함수 가져오기 구성:
코드 수정 뒤에:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); // Replace "SearchProducts" with your chosen function name MyGridView.DataSource = result; MyGridView.DataBind();
이 방법은 저장된 코드를 가져와서 문제를 해결합니다. 프로시저를 Entity Framework 모델 내의 함수로 사용하여 반환 값을 IEnumerable로 설정하여 액세스하고 실행할 수 있습니다. 데이터 세트.
Entity Framework는 데이터베이스와 상호 작용하기 위한 편리한 메커니즘을 제공하지만 저장 프로시저에 대한 지원은 제한적이며 저장 프로시저 반환 값을 기본적으로 처리할 수 없다는 점에 유의하는 것이 중요합니다.
위 내용은 ASP.NET에서 Entity Framework를 사용하여 저장 프로시저에서 데이터를 성공적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!