Database Independence

    Table of contents
    1. 1. MindTouch.Deki.Data.dll

    Work items:

     

    MindTouch.Deki.Data.dll

    namespace MindTouch.Deki.Data {

        // Manages Deki Instance -> SessionFactory mapping
        public class DekiData {

            public static IDekiDataSession CurrentSession;
            public static void RegisterInstance(object key, XDoc config, IInstanceSettings instanceSettings);

            public static void UnregisterInstance(object key);
            public static IDekiDataSession StartSession(object key);
            public static void EndSession();
        }

        // Provides access to Deki instance settings
        public interface IInstanceSettings {
            T? GetInstanceSettingsValueAs<T>(string key) where T : struct;
        }

        // Contains database information for a given DekiInstance.  Used to create IDekiDataSession.
        public interface IDekiDataSessionFactory {
            void Initialize(XDoc config, IInstanceSettings instanceSettings);
            IDekiDataSession CreateSession();
        }

        // Contains all DA methods
        public interface IDekiDataSession:IDisposable {
            PageBE Page_GetPageById(uint id);
            PageBE Page_GetPageByTitle(Title title);
            ...
        }
    }

    Tag page

    Files 2

    FileVersionSizeModified 
    Viewing 1 of 1 comments: view all
    A note: I've recently found http://nhprof.com/ and it's really awesome. Great at finding performance problems where you do select N+1 (e.g. select ids where X; select Y where id = result1, select Y where id = result2, etc).
    Posted 15:44, 26 Aug 2009
    Viewing 1 of 1 comments: view all
    You must login to post a comment.

    Copyright © 2011 MindTouch, Inc. Powered by