无法访问LINQ属性与C#

问题描述:

我试图将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; 
     } 

    } 
} 

这是错误拼写,VB是不区分大小写其中c#是,所以在部分类之一是CT_CompanyLogIn另一个是CT_CompanyLogin

这是一个局部类。您需要确保类文件的其他部分(包含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

看起来像它无关,与LINQ在这里 - 它只是你还没有宣布CompanyIDCompanyTypeCreatedTime性能/在类的字段你编码只是一些VB代码,你还没有移植,也许?这些是部分类 - 也许你应该看看构成完整类型的其他VB文件?

+0

我的意思是在评论中加入.....但我把代码放在上面的部分类中。 – user1202606 2012-02-10 18:02:02