2009-11-07 5 views
2

상대적으로 단순한 웹 사이트를 구축하고 데이터베이스에 일부 데이터를 저장해야합니다 (주로 인증이지만 사용자 별 자료가 일부 있음). 이전에 두 개의 웹 사이트에서 작업 해본 적이 있지만 데이터베이스를 사용했지만 결코 데이터베이스에 액세스하는 방식을 좋아하지 않았습니다. 나는 보통 한asp.net에서 SQL을 사용하는 방법?

방법이, 기본적으로 sproc에 전화, 본질적으로 "열린 연결했다 각각 같은 bool CheckUserExistence(string username, string password)SqlDataReader GetJobListings(int advertiserId) 정적 방법의 전체 많은 정적 클래스이었다 SqlMethods.cs을함으로써이었다 반환하는 것을 반환하십시오. " 그러나이 접근법은 나에게 자연스럽지 않은 것처럼 보입니다. 나는 내 마음을 내가 닮기를 원하는 방향으로 넣을 수는 없지만, 이상하게 보인다.

내 질문은 이것입니다 : 어떻게 asp.net 프로젝트에서 데이터베이스에 액세스합니까?
SQL2005를 사용하고 있습니다. DB에서 얻는 것이별로 없기 때문에 ORM이 필요하다고 생각하지 않습니다. 뭔가 제안하십시오. 감사합니다.

편집 : 나는 현재 단지 SQL 관련 메소드를해야합니다 정적 클래스 Sql을 만들기로 결정 주어진 매개 변수를 사용하여 SPROC 전화를 그냥 DataReader를 반환합니다 (예 : ExecuteReader(sprocName, params[]), 등 등).
그런 다음 및 LogoffUser(session)과 같은 메서드를 사용하는 Authentication과 같은 특정 기능을위한 클래스가 있어야합니다. 이 메소드는 Sql.ExecuteReader("sp_Auth_CheckUserExistence", _some_params_here_)을 호출하고 필요에 따라 결과를 처리합니다.
나는 그것이 좋은지 나쁜지는 모르겠지만 지금은 나에게 도움이되는 것처럼 보인다. 또한 필자는 필자가 느끼는 방식을 좋아합니다. 기능이 모두 잘 분리되어 있습니다.

더 많은 제안이 있으십니까? 엔티티에 대한 SQL 또는 Linq에에

+0

당신이 사용하고있는 Visual Studio 및/또는 .NET 프레임 워크의 버전은 무엇? –

+0

.Net 3.5, VS2008 (당장은 VS2010B2가 있지만 한 번 죽으면 다시 2008로 돌아갑니다.) – AASoft

답변

2
+1

LINQ to SQL을 사용하면 데이터베이스를 DataContext 파일로 끌어다 놓을 수 있습니다. 이렇게하면 모든 테이블, 뷰 및 저장 프로 시저가 자동으로 매핑됩니다. 자동 생성 된 함수를 통해 SP에 전화를 걸면 적절하고 강력한 형식의 데이터를 반환 할 수 있습니다. –

+0

흠,이 중 하나를보아야합니다. Linq는 그것을 위해 만들어진 것이지만, 내가 필요로하는 것이 아닙니다. SomeClass.CheckIfUserExists (username, password)와 같은 것이 필요합니다. 질문을 편집하여 현재 어떻게 결정했는지 확인하십시오. – AASoft

+0

상자 데이터베이스 구성을 사용하지 않는 한 CheckIfUserExists와 같은 것을 가지지 않습니다. Linq 대신 그 방법을 구축하는 것이 좋을 것입니다. CheckIfUserExists와 같은 메소드를 호출하면 Linq 부분을 처리 할 수 ​​있습니다. –

0

는 데이터베이스의 각 테이블에 대한 데이터 액세스 클래스를 생성하는 가장 간단한 방법. 테이블의 모든 열에 대해 개인 변수와 공용 속성이 있어야하며 설명하는 메서드는 내부 변수를 채우거나 데이터베이스를 업데이트하는 데 사용해야합니다.

Public Class MyTable 
    Private _id As Integer 
    Private _Name as String 

    Public ReadOnly Property ID As Integer 
     ' Regular stuff here 
    End Property 

    Public Property Name As String 
     ' Regular stuff here 
    End Property 

    Public Sub Load() 
     ' Call SQL and get a data reader. 
     ' Set _id and _Name from the data reader. 
    End Sub 
End Class 

그런 다음, 다른 코드 :

Dim mt As New MyTable 
mt.Load() 
' Now use mt.ID and mt.Name to access the data 
+0

고마워,하지만 내가 원하는 건 아니야. DB 테이블의 데이터를 클래스에로드합니다. 내가 필요로하는 것은 아니지만 (실제로 내 설명에서 원하는 것을 말하기는 불가능하다고 생각한다.) – AASoft

+0

각 클래스는 데이터베이스에서 직접 호출하는 정적 메서드를 가질 수도있다. –

관련 문제