2012-02-10 131 views
2

我試圖將VB代碼(下)轉換爲C#。 c#代碼底部不喜歡this.UserLogin或this.CompanyID,this.CompanyType或this.CreatedDateTime。它給出了錯誤CT_CompanyLogin不包含UserLogin的定義,也沒有擴展方法UserLogin接受類型CT_CompanyLogin的第一個參數可以找到(你是否缺少使用指令或程序集引用?)無法訪問LINQ屬性與C#

任何幫助?

VB

Partial Class CT_CompanyLogin 

    Public Function GetCompanyAssoicatedByUserID() As Boolean 
     Dim db As DataClassesDataContext = New DataClassesDataContext() 

     Try 

     Dim mycompany = (From c In db.CT_CompanyLogIns _ 
         Where c.UserLogIn = Me.UserLogIn _ 
         Select c).Single 

      Me.CompanyID = mycompany.CompanyID 
      Me.CompanyType = mycompany.CompanyType 
      Me.CreatedDateTime = mycompany.CreatedDateTime 
      Return True 

     Catch ex As Exception 
      Return False 

     End Try 

    End Function 

End Class 

C#

partial class CT_CompanyLogin 
{ 
    public Boolean GetCompanyAssociatedByUserID() 
    { 
     DataClassesDataContext db = new DataClassesDataContext(); 

     try 
     { 
      var mycompany = (from c in db.CT_CompanyLogIns 
         where c.UserLogIn == this.UserLogin 
         select c).Single(); 

      this.CompanyID = mycompany.CompanyID; 
      this.CompanyType = mycompany.CompanyType; 
      this.CreatedDateTime = mycompany.CreatedDateTime; 

      return true; 
     } 
     catch (Exception ex) 
     { 
      return false; 
     } 

    } 
} 

回答

0

這是錯誤拼寫,VB是不區分大小寫其中c#是,所以在部分類之一是CT_CompanyLogIn另一個是CT_CompanyLogin

3

這是一個局部類。您需要確保類文件的其他部分(包含CompanyIDUserLogin等的定義)先移植。

這可能意味着將您的LINQ to SQL設計器遷移到C#項目並構建它。這應該使用這些屬性構建部分類定義。

+0

部分類的其它部分是在DBML文件,它包含屬性的定義是我需要的嗎?我已經有了,但它不起作用 – user1202606 2012-02-10 18:03:01

+0

@ user1202606您需要確保它在同一個項目中正確構建 - 它顯然不是。 – 2012-02-10 18:05:48

+0

@ user1202606檢查你的命名空間,以及 - 如果你是dbml正在建設到一個不同的命名空間,這將做到這一點... – 2012-02-10 18:06:27

1

看起來像它無關,與LINQ在這裏 - 它只是你還沒有宣佈CompanyIDCompanyTypeCreatedTime性能/在類的字段你編碼只是一些VB代碼,你還沒有移植,也許?這些是部分類 - 也許你應該看看構成完整類型的其他VB文件?

+0

我的意思是在評論中加入.....但我把代碼放在上面的部分類中。 – user1202606 2012-02-10 18:02:02