2010-11-23 3 views
1

테이블 속성에 액세스하기 위해 가장 간단한 부분 클래스를 만들 때 막혔습니다.VB 부분 클래스 ... 붙어 있습니다!

Public Class myClassDataContext  
    Private Sub InsertCompetitions(ByVal instance As Competitions) 
    End Sub 
End Class  

Public Class Competitions 
    Private Sub onC_SiteChanged() 
      Me. 
    End Sub 
End Class 

문제 :

  1. Namespace VuBridgeDB 
        <System.Data.Linq.Mapping.DatabaseAttribute(Name:="C:\Users\Didier\Documents\Visual Studio 2010\Projects\VuBridge1\VuBridge1\Data\VuBridgeDB.sdf")> _ 
        Partial Public Class myClassDataContext 
         Inherits System.Data.Linq.DataContext 
    
         Private Shared mappingSource As System.Data.Linq.Mapping.MappingSource _ 
           = New System.Data.Linq.Mapping.AttributeMappingSource() 
    
         Partial Private Sub InsertCompetitions(ByVal instance As Competitions) 
         End Sub 
        End Class 
    
    <Table(Name:="Competitions")> _ 
        Partial Public Class Competitions  
    
         Partial Private Sub OnC_TitleChanged() 
         End Sub 
        End Class 
    

    지금 나는 내 수업 시간에 내 자신의 비즈니스 로직을 추가하려고 :

    내가 LINQ를 자동으로 DataContext를 생성해야

    VB.NET은 클래스 이름 myClassDataContext가 이미 존재 함을 거부합니다.

  2. 내 자신의 클래스 (다른 Competitions 열과 마찬가지로)에서 C_Site 속성을 사용할 수 있기를 기대했지만 "Me"를 입력하면 IntelliSense에서 경쟁 속성 (즉, 데이터 열).

모든 종류의 부분 공개를 시도했으며 자동 생성 된 것과 같은 네임 스페이스를 추가했습니다. 아무 것도 작동하지 않습니다.

누군가 샘플을 제공해 줄 수 있습니까?

Public Partial Class myClassDataContext 
    Private Sub InsertCompetitions(ByVal instance As Competitions) 
     ... 
    End Sub 
    ... 
End Class 

이 그렇지 않으면 VB 컴파일러가 같은 이름을 가지고 어떻게 다른 "독립"클래스를 선언하려는 생각 :

답변

4

당신은 너무 부분 myClassDataContext의 다른 선언을 확인해야합니다.

이것은 두 가지 문제를 해결합니다. 다른 속성 등은 현재 정확히 같은 이유로 "추가"클래스 코드에 없습니다.

0

우리와 함께 작동하는 클래스 선언은 단순히 별도의 파일에 Partial Class myClassDataContext입니다. 이것은 같은 어셈블리 (dll 또는 exe)와 원래 클래스의 네임 스페이스에 있어야합니다.

1

좋아, 고마워 ... 내가 마지막으로 다음과 같이 동일한 네임 스페이스 선언을 추가하여, 작업 그 물건을 얻을 :

Namespace VuBridgeDB 
Partial Public Class VubridgeDB 

    Private Sub InsertCompetitions(ByVal instance As Competitions) 

     MsgBox("Inserting " & instance.C_Title, vbInformation) 

    End Sub 

End Class 

이되면

는, 인텔리 완전히 완료 최종 네임 스페이스 인스턴스 매개 변수를 인식합니다.