データセットにWriteXmlまたはReadXmlメソッドがありましたObjectContextをDataSets(XMLデータベース)のようにXMLにシリアル化する方法は?
どのようにEntity Frameworkでこれをどうやって考えていますか? 誰もこれを前に実装していますか?
データセットにWriteXmlまたはReadXmlメソッドがありましたObjectContextをDataSets(XMLデータベース)のようにXMLにシリアル化する方法は?
どのようにEntity Frameworkでこれをどうやって考えていますか? 誰もこれを前に実装していますか?
基本的には私のデータベースをXMLでバックアップしたいのですが、このバックアップをサーバーからではなくアプリケーションから処理したいと思っています。
コンテキストで発生したイベントを処理し、データを保存すると思います。ここで
がある:私はxmlファイルのサイズがあまりにも成長する(簡単な短いデータ型の100-300小さな実体レコードのように開催します)と一致しないexpextとして
は、私は、XML DBに対して同期的に動作することを決定しました強く型付けされたDTAセットのパーシャルクラス:私もちょうど表示を得るために迅速perfoanceテストをしたので、あなたはあなたの自己を気にした場合BTW
Imports System.Xml
Partial NotInheritable Class XmlDatabas : Inherits Data.DataSet
Private ReadOnly XmlFileName As String = _
My.Application.Info.DirectoryPath & "\Data.xml"
Private Sub SeawaveData_Initialized(sender As Object, e EventArgs) _
Handles Me.Initialized
If Not IO.File.Exists(XmlFileName) Then WriteXml(XmlFileName)
ReadXml()
End Sub
Public Shadows Sub AcceptChanges()
MyBase.AcceptChanges()
WriteXml()
End Sub
Public Overloads Sub ReadXml()
ReadXml(XmlFileName)
End Sub
は、(依存しない、それが再び非常に抽象的テスト、テストですより大きいファイルのXmlDbを作成しようと思ったら!)。 このファイルは外部の変更についてxmlファイルをテストしないこと、ASP.NETで勝利するアプリケーション、または複数の要求を許可したい場合は、既存のアプリケーションの変更をチェックする方法を検討することも検討してください、または変更をコミットするキューを持つDAL DLLを作成します。
Module Program
Sub Main()
Using ds As New XmlDb
Dim longString = ""
For index As Integer = 1 To 250
longString &= "aaaaaaaaaaaaaaaaaaaaaaaaa"
Next
Dim step1 = Now
For index As Integer = 1 To Short.MaxValue
ds.Account.AddAccountRow(index.ToString, longString, True, True, _
longString, "", "", longString, longString, longString, _
longString, longString, longString, longString, longString, _
longString)
Next
Dim step2 = Now
ds.AcceptChanges()
Dim step3 = Now
Console.WriteLine("step 1 took: {0:T}", step2 - step1)
Console.WriteLine("step 2 took: {0:T}", step3 - step2)
Console.WriteLine("entire operation took: {0:T}", step3 - step1)
End Using
Stop
End Sub
End Module
Public Overloads Sub WriteXml()
WriteXml(XmlFileName)
End Sub
End Class
Results:
step 1 took: 00:00:01.3390000
step 2 took: 00:00:23.5280000
entire operation took: 00:00:24.8670000
24.8秒、大きなああ? xmlファイルの大きさを聞きたいですか? 2062857146バイトは1967.2938785553バイトです。
しかし、ObjectContextはあなたのデータベースではありません。あなたはそれをデシリアライズしますか? –
あなたは正しいです私は何を言うべきではありません、あなたは良いアイデアを持っていますか?たぶんSavingChangesイベントで、私はテーブル名、行id、各コミットメントのタイムスパンをdbに保存し、サーバがダウンしているときにパラレルでxml DBにそれらの行を追加する予定のウィン・サービスを持っています問題。私は基本的にオブジェクトのコンテキストを2つのDBで動作させる方法を探しています:sqlとxml、両方が同期されます。サーバがxmlになり、sqlとxmlの同期があればそのようになります。 – Shimmy