SQL ADO.Net Entity LINQ вопрос - PullRequest
0 голосов
/ 03 мая 2011

У меня есть небольшой вопрос о моем проекте, который вы не могли знать, я понимаю.Но, возможно, у меня есть очень простая ошибка в моей следующей функции, которую вы могли видеть?

<OperationContract()>
Public Function GetBestFahrer() As Autofahrer
    Dim Database As New Model1Container
    Dim Fahrer As Autofahrer = From d In Database.AutofahrerSet Where d.Unfälle = 0 Select d Order By d.Unfälle Ascending
    If Fahrer Is Nothing Then
        Fahrer = Autofahrer.CreateAutofahrer(0, "Testfahrer", DateTime.Now, 0)
        Database.AutofahrerSet.AddObject(Fahrer)
        Database.SaveChanges()
    End If

    Return Fahrer

End Function

Сообщение об ошибке в строке "Dim Fahrer As Autofahrer = ..."

Невозможнодля приведения объекта типа «System.Data.Objects.ObjectQuery`1 [SilverlightApplication4.Web.Autofahrer]» введите «SilverlightApplication4.Web.Autofahrer».

1 Ответ

1 голос
/ 03 мая 2011

Фахрер - это отдельный объект
From d In Database.AutofahrerSet Where d.Unfälle = 0 Select d Order By d.Unfälle Ascending не дает вам ни одного объекта

Похоже, вы хотите увидеть, существует ли что-то, а затем создать его, если его нет.

Попробуйте что-то вроде этого

Dim myCount as integer = (From d In Database.AutofahrerSet Where d.Unfälle = 0 Select d).Count()
if myCount = 0 then
    Fahrer = Autofahrer.CreateAutofahrer(0, "Testfahrer", DateTime.Now, 0)
    Database.AutofahrerSet.AddObject(Fahrer)
    Database.SaveChanges()
else
    Fahrer = (From d In Database.AutofahrerSet Where d.Unfälle = 0 Select d Order By d.Unfälle Ascending).First()
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...