示例#1
0
文件: DataContext.cs 项目: vebin/BD2
 public void UpdateRow(BaseDataObjectVersion baseDataObjectVersion)
 {
     Log.WriteLine ("DataContext-{0}.UpdateRow(baseDataObjectVersion={1})", this.id.ToHexadecimal (), baseDataObjectVersion.ToString ());
     //var SV = baseDataObjectVersion.Serialize ();
     MemoryStream ms = new  MemoryStream ();
     ms.Write (baseDataObjectVersion.ObjectType.ToByteArray (), 0, 16);
     baseDataObjectVersion.Serialize (ms, null);
     byte[] buf = ms.ToArray ();
     Log.WriteLine ("Object buffer: {0}", buf.ToHexadecimal ());
     //Console.WriteLine ("Temporary.Contains({0})={1}", baseDataObjectVersion.ID.ToHexadecimal (), temporary.Get (baseDataObjectVersion.ID) != null);
     temporary.Put (baseDataObjectVersion.ID, buf);
     var row = baseDataObjectVersion as Row;
     if (row != null) {
         foreach (var rid in row.ReplacingIDs) {
             if (perTableRows [row.Table].ContainsKey (rid))
                 perTableRows [row.Table].Remove (rid);
         }
         perTableRows [row.Table].Add (baseDataObjectVersion.ID, row);
         objects.Add (baseDataObjectVersion.ID, row);
         foreach (var id in baseDataObjectVersion.ReplacingIDs) {
             if (!references.ContainsKey (id)) {
                 references.Add (id, new SortedSet<byte[]> (ByteSequenceComparer.Shared));
             }
             references [id].Add (baseDataObjectVersion.ID);
         }
     }
 }
示例#2
0
 void InsertObject(BaseDataObjectVersion baseDataObjectVersion)
 {
     throw new NotImplementedException();
 }
示例#3
0
文件: DataContext.cs 项目: vebin/BD2
 public void InsertRow(BaseDataObjectVersion baseDataObjectVersion)
 {
     Log.WriteLine ("DataContext-{0}.InsertRow(baseDataObjectVersion={1})", this.id.ToHexadecimal (), baseDataObjectVersion);
     //var SV = baseDataObjectVersion.Serialize ();
     MemoryStream ms = new  MemoryStream ();
     ms.Write (baseDataObjectVersion.ObjectType.ToByteArray (), 0, 16);
     baseDataObjectVersion.Serialize (ms, null);
     temporary.Put (baseDataObjectVersion.ID, ms.ToArray ());
     var row = baseDataObjectVersion as Row;
     if (row != null) {
         perTableRows [row.Table].Add (baseDataObjectVersion.ID, row);
         objects.Add (baseDataObjectVersion.ID, row);
         foreach (var id in baseDataObjectVersion.ReplacingIDs) {
             if (!references.ContainsKey (id)) {
                 references.Add (id, new SortedSet<byte[]> (ByteSequenceComparer.Shared));
             }
             references [id].Add (baseDataObjectVersion.ID);
         }
     }
 }