SQL ADO.Net Entity LINQ question



我有一个关于我的项目你可能不知道的小问题,我理解。但也许我下面的函数有一个非常简单的错误,你可以看到吗?

<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"。

farer是单个对象
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

最新更新