Ich versuche, ein LINQ Ergebnis auf diese Weise zu serialisiert:Fehler Serialisierung Linq Ergebnis
Private Sub btnXML_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnXML.Click
Try
Dim sourceForXML = From detail In PayrollRegisterModel.CompanyDetails
Join shifts In PayrollRegisterModel.Shifts On detail.Id_companydetail Equals shifts.Id_companydetail
Dim xmlFile As New Xml.Serialization.XmlSerializer(sourceForXML.GetType)
Dim xw As System.Xml.XmlWriter = Xml.XmlWriter.Create("C:/Abcom/XMLRegister.xml")
xmlFile.Serialize(xw, sourceForXML)
Catch ex As Exception
MsgBox(e.ToString)
End Try
End Sub
aber in der Zeile:
Dim xmlFile As New Xml.Serialization.XmlSerializer(sourceForXML.GetType)
Ich erhalte diese Fehlermeldung:
**System.InvalidOperationException was caught
Message=To be XML serializable, types which inherit from IEnumerable must have an implementation of Add(System.Object) at all levels of their inheritance hierarchy. System.Data.Objects.ObjectQuery`1[[VB$AnonymousType_0`2[[Abcom.Payroll.Register.CompanyDetail, Abcom.Payroll.Register, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Abcom.Payroll.Register.Shift, Abcom.Payroll.Register, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Abcom.Payroll.Register, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] does not implement Add(System.Object).
Source=System.Xml
StackTrace:
at System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type type, TypeFlags& flags)
at System.Xml.Serialization.TypeScope.ImportTypeDesc(Type type, MemberInfo memberInfo, Boolean directReference)
at System.Xml.Serialization.TypeScope.GetTypeDesc(Type type, MemberInfo source, Boolean directReference, Boolean throwOnError)
at System.Xml.Serialization.ModelScope.GetTypeModel(Type type, Boolean directReference)
at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(Type type, XmlRootAttribute root, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type)
at Abcom.Payroll.Register.MainWindow.btnXML_Click(Object sender, RoutedEventArgs e) in C:\Abcom\Inhouse Development Tools\Abcom.Payroll.Register\Abcom.Payroll.Register\MainWindow.xaml.vb:line 415**
Weiß jemand, was hier vor sich geht und wie kann ich dieses Problem lösen?
Grüße,
Claudio
Actualy ich weiß nicht genau, wie dieser Code von C# VB zu übersetzen. Wie auch immer, meine Lösung wird meine Sprache ändern! Danke vielmals! – Claudio
@Claudio Hoppla^_^Ich wollte dich nicht dazu bringen, eine andere Sprache zu wählen) Viel Glück in C#, es ist mächtig und erstaunlich, IMHO. Sie möchten es (früher oder später))) –