2010-08-02 3 views

답변

0

나는 모든 엔터티에 대한 사용자 지정 양식을 만듭니다.

0

Linq to SQL 또는 Entity Framework (또는 다른 ORM)와 같은 것을 사용하고 CRUD 저장소 (만들기, 읽기, 업데이트, 삭제)를 만들 것을 제안합니다. 그러나 "D"메서드는 실제로 isDeleted 필드를 업데이트하는 업데이트 메서드입니다.

다음은 내 CRUD 저장소 (서비스 계층도 포함)의 예입니다.
http://dotnetblogger.com/post/2010/07/04/MVC2-Separating-Concerns-with-Service-and-Repository-Layers.aspx

예 :

Public Class UserRepository : Implements IUserRepository 
    Private dc As MyDatabaseDataContext 
    Public Sub New() 
     dc = New MyDatabaseDataContext 
    End Sub 

    ''# note, this adds a user based on an OpenID - might not be what you're looking for 
    Public Sub AddUser(ByVal openid As OpenID) Implements IUserRepository.AddUser 
     Dim user As New User 
     user.MemberSince = DateTime.Now 
     openid.User = user 

     dc.OpenIDs.InsertOnSubmit(openid) 
    End Sub 

    ''# This gets users as Queryable so that we can defer the query till the end. 
    Public Function GetUsers() As IQueryable(Of User) Implements IUserRepository.GetUsers 
     Dim users = (From u In dc.Users 
        Select u) 
     Return users.AsQueryable 
    End Function 

    ''# Here's the magic function that you're looking for. DELETE is actually an UPDATE. 
    Public Sub DeleteUser(ByVal user as User) Implements IUserRepository.DeleteUser 
     Dim _user = (From u In dc.Users 
      Where u.ID = user.ID 
      Select u).Single 

     _user.isDeleted = True 
    End Sub 


    ''# Basic Update Method 
    Public Sub UpdateUser(ByVal user As User) Implements IUserRepository.UpdateUser 
     Dim _user = (From u In dc.Users 
      Where u.ID = user.ID 
      Select u).Single 

     With _user 
      .About = user.About 
      .BirthDate = user.BirthDate 
      .Email = user.Email 
      .isClosed = user.isClosed 
      .isProfileComplete = user.isProfileComplete 
      .RegionID = user.RegionID 
      .Reputation = user.Reputation 
      .UserName = user.UserName 
      .WebSite = user.WebSite 
     End With 

    End Sub 

    ''# Make sure to call SubmitChanges 
    Public Sub SubmitChanges() Implements IUserRepository.SubmitChanges 
     dc.SubmitChanges() 
    End Sub 
End Class 
+0

동적 데이터의 삭제 기능에서 코드를 사용하도록 설정하려면 어떻게해야합니까? –

+0

동적 데이터는 여전히 Linq To SQL을 사용하고 있습니다. 편집 템플리트의 코드 뒤에 들어가서 편집 코드를 게시하십시오 (기존 질문을 편집하십시오). 동적 데이터 (대신 MVC를 사용했습니다)를 사용하지 않지만 원칙은 동일합니다. –

관련 문제