Hi i'm creating my Data Access Layer and I want to return my object but not all the fields so this is the code i'm using
Public Function BasicSearchProposals(ByVal searchvalue As String) As IEnumerable(Of DCProposal)
Dim dc As New PPDataContext()
Dim proposals = From p In dc.DCProposals _
Where p.RefNum = searchvalue Or _
p.FormattedrefNum = searchvalue Or _
p.UniquePropertyReference = searchvalue Or _
p.ApplicantName = searchvalue Or _
p.AgentName = searchvalue Or _
p.ApplicantPostCode = searchvalue Or _
p.SitePostCode = searchvalue Or _
p.ahDescription.Contains(searchvalue) Or _
p.AgentPostCode.Equals(searchvalue) _
Select New With { _
.RefNum = p.RefNum, _
.ApplicantName = p.ApplicantName, _
.UniquePropRef = p.UniquePropertyReference}
Return proposals
End Function
I then call this method in the Business Logic Layer
Public Shared Function BasicProposalSearch(ByVal searchVal As String) As IEnumerable(Of DCProposal)
Dim dal As New ProposalDAL()
Return dal.BasicSearchProposals(searchVal)
End Function
lastly I try to call in in my user interface and bind it to a DataGridView
Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
dgvProposals.DataSource = PP_BLL.BLL.ProposalBLL.BasicProposalSearch(txtSearch.Text)
End Sub
but I keep getting this error
Unable to cast object of type 'System.Data.Linq.DataQuery`1[VB$AnonymousType_0`3[System.String,System.String,System.String]]' to type 'System.Collections.Generic.IEnumerable`1[PP_DAL.DCProposal]'.
please help me to correct it