OK所以我知道爲什麼我遇到了錯誤。我不知道如何解決它。基本上,如果用戶沒有特定的權限,我需要加入另一個表。但是.NET非常挑剔,我不能在IF語句中做兩個不同的查詢,然後在if語句之外使用它。我可以爲此想到一些醜陋的工作,但我寧願不要。我對.NET相當陌生,我知道它足夠危險。使用相同變量綁定不同的LINQ數據源w/if語句
Private Sub loadLeads()
Using db As New CRMDataDataContext(SQLConnectionString)
Dim count = 0
Dim l As IEnumerable(Of Company)
If CanViewAllLeads(User.Identity.Name, db) = True Then
Dim q = From leads In db.Companies _
Join s In db.CompanySources On s.CompanySourceID Equals leads.CompanySourceID _
Where leads.Active = True And leads.CompanyStatusID = 1 _
Select leads.CompanyID, _
leads.BusinessName, _
leads.Website, _
leads.Phone, _
leads.Fax, _
leads.LastContacted, _
leads.FollowUp, _
leads.CreatedBy, _
leads.Created, _
leads.UpdatedBy, _
leads.Updated, _
Source = s.Source
count = q.Count
l = q
Else
Dim q = From leads In db.Companies _
Join s In db.CompanySources On s.CompanySourceID Equals leads.CompanySourceID _
Join xref In db.UserCompaniesXrefs On leads.CompanyID Equals xref.CompanyID _
Where leads.Active = True And leads.CompanyStatusID = 1 And xref.UserID = NCGuid(User.Identity.Name) _
Select leads.CompanyID, _
leads.BusinessName, _
leads.Website, _
leads.Phone, _
leads.Fax, _
leads.LastContacted, _
leads.FollowUp, _
leads.CreatedBy, _
leads.Created, _
leads.UpdatedBy, _
leads.Updated, _
Source = s.Source
count = q.Count
l = q
End If
If count > 0 Then
dgLeads.DataSource = l
dgLeads.DataBind()
Else
pnlLeads.Visible = False
pnlNoLeads.Visible = True
End If
End Using
End Sub
我得到的錯誤:無法投類型的對象System.Data.Linq.DataQuery 1[VB$AnonymousType_1
11 [的System.Guid,System.String,System.String,System.String,System.String,系統.Nullable 1[System.DateTime],System.Nullable
1 [System.DateTime],System.Nullable 1[System.Guid],System.Nullable
1 [System.DateTime],System.Nullable 1[System.Guid],System.Nullable
1 [System.DateTime]]]'鍵入'System.Collections.Generic.IEnumerable`1 [Ten11CRMLib.Company ]」。
因爲這樣:Dim l IEnumerable(Of Company)它不僅僅是一個公司的IEnumerable,它有它的源頭。我必須明確地選擇源在我的數據網格中使用它。我能讓昏暗的東西讓它停止抱怨嗎?
我很抱歉,我再次向新的.NET,能你爲我需要做的事提供資源或文件,你有點過頭了。我想你是說我必須讓Dim l匿名,然後將它發送給一個方法,將它轉換爲我所需要的方式? – KacieHouser 2010-11-27 10:43:22