невозможно получить доступ к свойствам linq с помощью c # - PullRequest
2 голосов
/ 10 февраля 2012

Я пытаюсь преобразовать код VB (ниже) в C #.Код c # внизу не любит this.UserLogin или this.CompanyID, this.CompanyType или this.CreatedDateTime.Это выдает ошибку, что CT_CompanyLogin не содержит определения для UserLogin, и не может быть найден метод расширения UserLogin, принимающий первый аргумент типа CT_CompanyLogin (отсутствует директива using или ссылка на сборку?)

Любая помощь?

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;
        }

    }
}

Ответы [ 3 ]

3 голосов
/ 10 февраля 2012

Это частичный класс . Вы должны убедиться, что другая часть файлов классов (которые содержат определение CompanyID, UserLogin и т. Д.) Перенесена первой.

Это, вероятно, будет означать перенос вашего LINQ to SQL дизайнер в проект C # и его сборку. Это должно создать частичное определение класса с этими свойствами.

1 голос
/ 10 февраля 2012

Похоже, что здесь нет ничего общего с LINQ - просто вы не объявили свойства / поля CompanyID, CompanyType или CreatedTime в классе, в котором вы кодируете. Просто какой-то VB-код, который у вас нет еще не портировали, возможно? Это частичные классы - возможно, вам стоит поискать другие VB-файлы, которые составляют полный тип?

0 голосов
/ 14 февраля 2012

Это было неправильное написание, vb не чувствительно к регистру, где c #, поэтому в частичных классах один был CT_CompanyLogIn, а другой - CT_CompanyLogin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...