无法访问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
这是一个局部类。您需要确保类文件的其他部分(包含CompanyID
,UserLogin
等的定义)先移植。
这可能意味着将您的LINQ to SQL设计器迁移到C#项目并构建它。这应该使用这些属性构建部分类定义。
看起来像它无关,与LINQ在这里 - 它只是你还没有宣布CompanyID
,CompanyType
或CreatedTime
性能/在类的字段你编码只是一些VB代码,你还没有移植,也许?这些是部分类 - 也许你应该看看构成完整类型的其他VB文件?
我的意思是在评论中加入.....但我把代码放在上面的部分类中。 – user1202606 2012-02-10 18:02:02
部分类的其它部分是在DBML文件,它包含属性的定义是我需要的吗?我已经有了,但它不起作用 – user1202606 2012-02-10 18:03:01
@ user1202606您需要确保它在同一个项目中正确构建 - 它显然不是。 – 2012-02-10 18:05:48
@ user1202606检查你的命名空间,以及 - 如果你是dbml正在建设到一个不同的命名空间,这将做到这一点... – 2012-02-10 18:06:27