我正在使用從具有實體框架的數據庫生成的域模型。我如何序列化/反序列化這個領域模型的對象實例到/從XML?我可以使用.edmx文件嗎?任何代碼示例? 謝謝將實體框架對象實例保存到xml
5
A
回答
5
您可以使用XmlSerializer類。還有WCF推出的DataContractSerializer。例如,如果你想使用XmlSerializer
類的現有對象序列化到XML:
SomeModel model = ...
var serializer = new XmlSerializer(typeof(SomeModel));
using (var writer = XmlWriter.Create("foo.xml"))
{
serializer.Serialize(writer, model);
}
和反序列化回XML到現有的模型:
var serializer = new XmlSerializer(typeof(SomeModel));
using (var reader = XmlReader.Create("foo.xml"))
{
var model = (SomeModel)serializer.Deserialize(reader);
}
1
我用這個VB代碼序列化我EF模型,XML:
Try
Dim serializer = New XmlSerializer(GetType(GestionEDLService.Biens))
Dim localFolder As StorageFolder = ApplicationData.Current.LocalFolder
Dim sampleFile As StorageFile = Await localFolder.CreateFileAsync("dataFile.xml", CreationCollisionOption.OpenIfExists)
Dim stream As Stream = Await sampleFile.OpenStreamForWriteAsync()
serializer.Serialize(stream, MyEFModel.MyEntity)
Catch ex As Exception
Debug.WriteLine(ex.ToString)
End Try
編輯:您還可以使用的DataContractSerializer這樣
Imports System.Runtime.Serialization
Public Sub WriteToStream(sw As System.IO.Stream)
Dim dataContractSerializer As New DataContractSerializer(GetType(MyDataSource))
dataContractSerializer.WriteObject(sw, _MyDataSource)
End Sub
Public Sub ReadFromStream(sr As System.IO.Stream)
Dim dataContractSerializer As New DataContractSerializer(GetType(MyDataSource))
_MyDataSource = dataContractSerializer.ReadObject(sr)
End Sub
HTH
相關問題
- 1. 實體框架:將對象保存到不同的實體
- 2. 實體框架保存子對象
- 3. 實體框架不會將對象保存到數據庫
- 4. 使用實體框架保存實體
- 5. 實體框架 - 保存子實體
- 6. 保存在casdade(保存和/或更新)對象實體框架
- 7. 實體框架InvalidOperationException保存
- 8. 實體框架不保存
- 9. 實體框架對象未持續/保存到數據庫表
- 10. 如何將XML文檔映射到實體框架對象?
- 11. 實體框架多對多保存
- 12. 實體框架從內存拉對象
- 13. 實體框架:存儲實體而不保存到數據庫
- 14. 實體框架對象集
- 15. 實體框架TypeUsage對象
- 16. 實體框架POCO對象
- 17. 實體框架空對象
- 18. 在實體框架中實現「每個對象一個實例」
- 19. 實體框架新手 - 保存到DB
- 20. 實體框架 - 保存對分離實體所做的更改
- 21. 實體框架4:保存一對多實體不起作用
- 22. 實體框架查詢:對象不設置到對象的實例
- 23. 實體框架映射到域對象
- 24. c#實體框架混合LINQ到LINQ到實體的對象
- 25. 實體框架對象上下文保存未添加的新實體
- 26. 實體框架 - 如何拯救實體,不保存相關對象
- 27. 如何將實體對象與實體框架分開?
- 28. 實體框架:填充現有的對象實例
- 29. 使用實體框架保存對象時會發生什麼?
- 30. 如何覆蓋保存對象的行爲在實體框架