// ------------------------------------------------------------------------------
// This is autogenerated code from the CodeFirst template.  This file will be
// automatically re-generated from the EDMX when it is saved or the .tt is run.
// You will usually want to first generate your CodeFirst classes from your model
// and then make all subsequent modifications manually.  To avoid losing your
// changes, rename and move this code file so that it will not be re-generated.
// 
//    Generated at: 9/4/2012 7:04:45 PM
//    DevForce version: 6.1.7.1
//    Template version: 2.1.4
// ------------------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.Serialization;
using IbEm   = IdeaBlade.EntityModel;
using IbCore = IdeaBlade.Core;
using IbVal  = IdeaBlade.Validation;
using IbAop  = IdeaBlade.Aop;

namespace iRely.Model { 

  #region tblSMSearch class

  /// <summary>The auto-generated tblSMSearch class. </summary>
  
  
  [Table("tblSMSearch", Schema="dbo")]
  public partial class tblSMSearch : iRely.BaseModel.iRelyEntity {

    #region Data Properties

    /// <summary>Gets or sets the intSearchID. </summary>
    [Key]
    [DataMember]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Column("intSearchID")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="intSearchID", AutoGenerateField=true)]
    [IbVal.RequiredValueVerifier( ErrorMessageResourceName="tblSMSearch_intSearchID")]
    public int intSearchID {
      get; set;
    }

    /// <summary>Gets or sets the strApplicationName. </summary>
    [DataMember]
    [Column("strApplicationName")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="strApplicationName", AutoGenerateField=true)]
    [IbVal.StringLengthVerifier(MaxValue=100, IsRequired=true, ErrorMessageResourceName="tblSMSearch_strApplicationName")]
    public string strApplicationName {
      get; set;
    }

    /// <summary>Gets or sets the strTableName. </summary>
    [DataMember]
    [Column("strTableName")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="strTableName", AutoGenerateField=true)]
    [IbVal.StringLengthVerifier(MaxValue=75, IsRequired=true, ErrorMessageResourceName="tblSMSearch_strTableName")]
    public string strTableName {
      get; set;
    }

    /// <summary>Gets or sets the intUserID. </summary>
    [DataMember]
    [Column("intUserID")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="intUserID", AutoGenerateField=true)]
    [IbVal.RequiredValueVerifier( ErrorMessageResourceName="tblSMSearch_intUserID")]
    public int intUserID {
      get; set;
    }

    /// <summary>Gets or sets the strDefaultColumnMatching. </summary>
    [DataMember]
    [Column("strDefaultColumnMatching")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="strDefaultColumnMatching", AutoGenerateField=true)]
    [IbVal.StringLengthVerifier(MaxValue=50, IsRequired=true, ErrorMessageResourceName="tblSMSearch_strDefaultColumnMatching")]
    public string strDefaultColumnMatching {
      get; set;
    }

 
    /// <summary>Gets or sets the ysnSort. </summary>
    [DataMember]
    [Column("ysnSort")]
    [Bindable(true, BindingDirection.TwoWay)]
    [Editable(true)]
    [Display(Name="ysnSort", AutoGenerateField=true)]
    public System.Nullable<bool> ysnSort {
      get; set;
    }
    #endregion Data Properties

    #region Navigation properties

    /// <summary>Gets or sets the tblSMSearchDefaultField. </summary>
    [DataMember]
    [InverseProperty("tblSMSearch")]
    [Bindable(false)]
    [Display(Name="tblSMSearchDefaultField", AutoGenerateField=false)]
    public tblSMSearchDefaultField tblSMSearchDefaultField {
      get; set;
    }

    /// <summary>Gets the tblSMSearchDefaultFilters. </summary>
    [DataMember]
    [InverseProperty("tblSMSearch")]
    [Bindable(false)]
    [Display(Name="tblSMSearchDefaultFilters", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMSearchDefaultFilter> tblSMSearchDefaultFilters {
      get; set;
    }

    /// <summary>Gets the tblSMSearchDefaultGroups. </summary>
    [DataMember]
    [InverseProperty("tblSMSearch")]
    [Bindable(false)]
    [Display(Name="tblSMSearchDefaultGroups", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMSearchDefaultGroup> tblSMSearchDefaultGroups {
      get; set;
    }

    /// <summary>Gets the tblSMSearchDetails. </summary>
    [DataMember]
    [InverseProperty("tblSMSearch")]
    [Bindable(false)]
    [Display(Name="tblSMSearchDetails", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMSearchDetail> tblSMSearchDetails {
      get; set;
    }

    /// <summary>Gets or sets the tblSMSearchLockedField. </summary>
    [DataMember]
    [InverseProperty("tblSMSearch")]
    [Bindable(false)]
    [Display(Name="tblSMSearchLockedField", AutoGenerateField=false)]
    public tblSMSearchLockedField tblSMSearchLockedField {
      get; set;
    }

    /// <summary>Gets the tblSMSearchMatchings. </summary>
    [DataMember]
    [InverseProperty("tblSMSearch")]
    [Bindable(false)]
    [Display(Name="tblSMSearchMatchings", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMSearchMatching> tblSMSearchMatchings {
      get; set;
    }

    /// <summary>Gets the tblSMSearchSavedSearches. </summary>
    [DataMember]
    [InverseProperty("tblSMSearch")]
    [Bindable(false)]
    [Display(Name="tblSMSearchSavedSearches", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMSearchSavedSearch> tblSMSearchSavedSearches {
      get; set;
    }

    /// <summary>Gets or sets the tblSMSearchSorting. </summary>
    [DataMember]
    [InverseProperty("tblSMSearch")]
    [Bindable(false)]
    [Display(Name="tblSMSearchSorting", AutoGenerateField=false)]
    public tblSMSearchSorting tblSMSearchSorting {
      get; set;
    }
    #endregion Navigation properties

    #region EntityPropertyNames
    public partial class EntityPropertyNames  {
      public const String intSearchID = "intSearchID";
      public const String strApplicationName = "strApplicationName";
      public const String strTableName = "strTableName";
      public const String intUserID = "intUserID";
      public const String strDefaultColumnMatching = "strDefaultColumnMatching";
      
      public const String ysnSort = "ysnSort";
      public const String tblSMSearchDefaultField = "tblSMSearchDefaultField";
      public const String tblSMSearchDefaultFilters = "tblSMSearchDefaultFilters";
      public const String tblSMSearchDefaultGroups = "tblSMSearchDefaultGroups";
      public const String tblSMSearchDetails = "tblSMSearchDetails";
      public const String tblSMSearchLockedField = "tblSMSearchLockedField";
      public const String tblSMSearchMatchings = "tblSMSearchMatchings";
      public const String tblSMSearchSavedSearches = "tblSMSearchSavedSearches";
      public const String tblSMSearchSorting = "tblSMSearchSorting";
    }
    #endregion EntityPropertyNames
  }
  #endregion tblSMSearch class
}
