Linq to SQL: object.Tolist manipulation not possible

When I try to work with the returned list from the query i can't change it's property
While the class has a get and set property

even when i create a copy i cant change the polygon property is there a way to create a copy without the readonly property.

so i can use the changed data further in my code

Thanks in advance
===========APPLICATION CODE============
=======================================
 Dim cityList = (From c In cities _
        Select c.name, c.polygon).Take(100).ToList
 
        Try
        Dim point As New ArrayList()
        '..... some manipulation                
        cityList(i).polygon = point
        Catch ex As Exception
 
        End Try
 
 
 
 
======================================
===========MAPPING CLASS==============
======================================
<Column(Storage:="_polygon", AutoSync:=AutoSync.Always, DbType:="NVarChar(MAX)", IsDbGenerated:=true, UpdateCheck:=UpdateCheck.Never)>  _
	Public Property polygon() As String
		Get
			Return Me._polygon
		End Get
		Set
			If (String.Equals(Me._polygon, value) = false) Then
				Me.OnpolygonChanging(value)
				Me.SendPropertyChanging
				Me._polygon = value
				Me.SendPropertyChanged("polygon")
				Me.OnpolygonChanged
			End If
		End Set
	End Property

Open in new window

stoffel_ccAsked:
Who is Participating?
 
Fernando SotoConnect With a Mentor RetiredCommented:
Hi stoffel_cc;

When you declare the query as you did and make the Select clause with just the two properties, the Select clause make the Anonymous type Read-Only

Dim cityList = (From c In cities _
                Select c.name, c.polygon).Take(100).ToList

When you make the Select clause as in the following the properties are now read/write

Dim cityList = (From c In cities _
                Select New With { c.name, c.polygon }).Take(100).ToList

In the following Select Clause the property with the key word Key is Read-Only whilw the other is read/write

Dim cityList = (From c In cities _
                Select New With { c.name, Key c.polygon }).Take(100).ToList

Fernando

0
 
Fernando SotoRetiredCommented:
Hi stoffel_cc;

have you tried my solution?

Fernando
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.