//****************************************************************************************************** // SearchableAttribute.cs - Gbtc // // Copyright © 2016, Grid Protection Alliance. All Rights Reserved. // // Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See // the NOTICE file distributed with this work for additional information regarding copyright ownership. // The GPA licenses this file to you under the MIT License (MIT), the "License"; you may // not use this file except in compliance with the License. You may obtain a copy of the License at: // // http://opensource.org/licenses/MIT // // Unless agreed to in writing, the subject software distributed under the License is distributed on an // "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the // License for the specific language governing permissions and limitations. // // Code Modification History: // ---------------------------------------------------------------------------------------------------- // 08/20/2016 - J. Ritchie Carroll // Generated original version of source code. // //****************************************************************************************************** using System; namespace GSF.Data.Model { /// /// Represents types of searches available for . /// public enum SearchType { /// /// Use default search type for field type. /// Default, /// /// Use SQL LIKE expression to match field. /// LikeExpression, /// /// Match full text of field. /// FullValueMatch, } /// /// Defines an attribute that will mark a property as a searchable field for a modeled table. /// [AttributeUsage(AttributeTargets.Property)] public sealed class SearchableAttribute : Attribute { /// /// Gets or sets type of search that should be used for field queried. /// public SearchType SearchType { get; set; } /// /// Creates a new . /// public SearchableAttribute() { SearchType = SearchType.Default; } /// /// Creates a new with specified . /// /// Type of search that should be used for field queried. public SearchableAttribute(SearchType searchType) { SearchType = searchType; } } }