Show / Hide Table of Contents

    Interface IDataLogic<T>

    Data logic interface

    Namespace: XData
    Assembly: XData.docfx.dll
    Syntax
    public interface IDataLogic<T>
        where T : class, IDataObject
    Type Parameters
    Name Description
    T
    Remarks

    Marking interface for classes contains data aware logic of mapped objects

    Used to divide data aware logic from mapping

    Hint: Separating mapping and logic to different assemblies allows to run data aware logic on XData application server

    Hint: Application can use XData application server or direct connect to database depending of configuration (see IConfiguration)

    Examples

    public abstract class InvoiceLogic : IDataLogic<Invoice> {

    [Action(DataActionType.BeforeClear)]

    public readonly static RepositoryTrigger<Invoice> ClearHistoryBatch =

    ((IRepository<Invoice> invoiceRepository, ref DataTriggerFlag flag) => DoSomething());

    [CustomAction("{ab12d6f0-69d0-4997-bb0b-5f5f7c0581d1}")]

    public static readonly CustomLogic<Invoice> TestCustomLogic = (objects => { return DoSomethingElse(); });

    }

    Extension Methods

    SerializationExtensions.ToXml<T>(T)
    CollectionsExtensions.SetValue<TKey, T>(TKey, T)
    CollectionsExtensions.AsEnum<T>(T)
    DataObjectQueryableExtensions.CompareVariable(Object, FilterOperation, String)
    Processing.Do<T>(T, Action<IProcess<T>>[])
    TypeExtensions.TryConvert<T, TResult>(T, Func<T, TResult>)
    TypeExtensions.TryConvert<T, TResult>(T, Func<T, TResult>, TResult)
    TypeExtensions.ChangeType<T>(Object)
    TypeExtensions.ChangeType(Object, Type)
    TypeExtensions.InvokeMethod<TRet>(Object, Type[], Expression<Func<TRet>>, BindingFlags)
    TypeExtensions.InvokeMethod(Object, Type[], Expression<Action>, BindingFlags)
    TypeExtensions.InvokeMethod<TRet>(Object, Expression<Func<TRet>>, BindingFlags)
    TypeExtensions.InvokeMethod(Object, Expression<Action>, BindingFlags)
    SqlBlockExtensions.SetExpression<TTag, TResult>(TTag, Expression<Func<IBlockQueryAdapter, TResult>>)
    QueryDescriptionExtensions.SetExpression<TTag, TResult>(TTag, Expression<Func<IQueryStructureAdapter, TResult>>)

    See Also

    IDataObject
    InitRepository<T>
    InvalidateRepository<T>
    InitObject<T>
    InvalidateObject<T>
    Trigger<T>
    CustomLogic<T>
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX