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