开发者

Linq query returning value from another class

Just a quick question about LINQ, I want to use a value from the returned dataset to lookup a value and return this. The line I am struggling with is .ViewingNotes = New Viewing(pt.ProspectId).GetViewings().Columns(7).ToString(). Is this possible?

    With BusinessLayerObjectManager.Context
        Return (From p As [Property] In .PropertySet
                Join pt As Prospect 开发者_如何学运维In .Prospects On pt.Property.propertyID Equals p.propertyID
                Where (p.Development.DevelopmentID = devId)
                Select New DevelopmentList With {
                    .Apartment = p.propertyApartment + " " + p.Development.Name,
                    .PropertyId = p.propertyID,
                    .Client = pt.Client.clientFirstname + " " + pt.Client.clientLastname,
                    .ClientId = pt.Client.ClientID,
                    .ProspectiveDate = pt.prospectiveDate,
                    .ProspectiveStatus = pt.prospectiveStatus,
                    .Agent = pt.Client.userID,
                    .ViewingNotes = New Viewing(pt.ProspectId).GetViewings().Columns(7).ToString(),
                    .PropertyStatus = ""
                }).ToList()
    End With

Thanks in advance.


I suspect not, when the compiler tries to convert the 'Viewing(pt.ProspectId).GetViewings().Columns(7).ToString()' bit to SQL it will get very confused. You would need to do it in 2 stages.

Do the first Linq-to-entity select first returning just pt.ProspectId, with the .ToList() intact. Then use the results to do some more linq, linq-to-linq if you like, where you can do the lookup using a lambda.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜