Я не могу понять это, проходя демонстрации, которые, кажется, работают. У меня есть служба WCF, с которой я пытался использовать Linq to SQL. Однако все, что я когда-либо получаю, это ошибка System.Data.Linq.Table, которую нельзя сериализовать. Поэтому я начал с собственного класса, думая, что смогу создать его обратно, пока не получу ошибку. Проблема в том, что я получаю ошибку, даже пытаясь использовать пустой класс. Просто использование «As System.Linq.Table (Of xxx)» в моем методе дает мне эту ошибку.
Тип 'System.Data.Linq.Table`1 [LinqADMRequest2b]' не может быть сериализован. Попробуйте пометить его атрибутом DataContractAttribute и пометить все его элементы, которые вы хотите сериализовать, атрибутом DataMemberAttribute. См. Документацию Microsoft .NET Framework для других поддерживаемых типов.
Imports System.ServiceModel
Imports System.ServiceModel.Activation
Imports System.Runtime.Serialization
Imports System.Collections.Generic
Imports Linq
<ServiceContract(Namespace:="")> _
<ServiceBehavior(IncludeExceptionDetailInFaults:=True)> _
<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> _
Public Class ComplyTrackWCFService
_
Public Function GetTestRequests() As System.Data.Linq.Table(Of LinqADMRequest2b)
'Dim ct As New Linq2.ComplyTrackDataContext()
'Dim queryresults = ct.ADMRequests 'ct.ADMRequestGetListByUser("", "155")
'Return queryresults
End Function
End Class
<DataContract()> _
<Serializable()> _
Public Class LinqADMRequest2b
Implements ISerializable
Private _firstName As String
_
Public Property FirstName() As String
Get
Return _firstName
End Get
Set(ByVal Value As String)
_firstName = Value
End Set
End Property
Public Sub GetObjectData(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext) Implements System.Runtime.Serialization.ISerializable.GetObjectData
End Sub
End Class
Как вы можете видеть, GetTestRequests () не делает ничего другого, кроме как сказать, что он собирается вернуть System.Data.Linq.Table (Of LinqADMRequest2b)
Я не могу заставить LinqADMRequest2b сериализоваться.
Тип 'System.Data.Linq.Table`1 [LinqADMRequest2b]' не может быть сериализован. Попробуйте пометить его атрибутом DataContractAttribute и пометить все его элементы, которые вы хотите сериализовать, атрибутом DataMemberAttribute. См. Документацию Microsoft .NET Framework для других поддерживаемых типов.