/// <summary> /// Initializes a new DataService with a given connection /// </summary> /// <param name="sqlConnection">The SqlConnection</param> public DataService(SqlConnection sqlConnection = null) { this.Connection = sqlConnection; // Register Fields/Properties // Potential TODO: Replace with FastMember var bindingFlags = BindingFlags.Instance | BindingFlags.Public; this.Fields = typeof(T).GetProperties(bindingFlags).Select( memberInfo => new DataModelField(memberInfo) ).Where( dataField => !dataField.IsIgnored ).ToList(); // Add DataService as managing service for model (T) SERVICE_REGISTRY.Register(typeof(T), this); }
/// <summary> /// Retrieves a registered DataService instance for type /// </summary> public static DataService <T> GetService() { return((DataService <T>)SERVICE_REGISTRY.GetService(typeof(T))); }