// ------------------------------------------------------------------------------
// 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 tblSMSecurityControlList class

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

    #region Data Properties

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

    /// <summary>Gets or sets the intSecurityFormListID. </summary>
    [DataMember]
    //[ForeignKey("tblSMSecurityFormList")]
    [Column("intSecurityFormListID")]
    [Bindable(false)]
    [Editable(true)]
    [Display(Name="intSecurityFormListID", AutoGenerateField=false)]
    [IbVal.RequiredValueVerifier( ErrorMessageResourceName="tblSMSecurityControlList_intSecurityFormListID")]
    public int intSecurityFormListID {
      get; set;
    }

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

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

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

    
    #endregion Data Properties

    #region Navigation properties

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

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

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

    /// <summary>Gets the tblSMSecurityUserRequireds. </summary>
    [DataMember]
    [InverseProperty("tblSMSecurityControlList")]
    [Bindable(false)]
    [Display(Name="tblSMSecurityUserRequireds", AutoGenerateField=false)]
    public IbEm.RelatedEntityList<tblSMSecurityUserRequired> tblSMSecurityUserRequireds {
      get; set;
    }
    #endregion Navigation properties

    #region EntityPropertyNames
    public partial class EntityPropertyNames  {
      public const String intSecurityControlListID = "intSecurityControlListID";
      public const String intSecurityFormListID = "intSecurityFormListID";
      public const String strControlType = "strControlType";
      public const String strControlName = "strControlName";
      public const String strDisplayName = "strDisplayName";
      
      public const String tblSMSecurityFormList = "tblSMSecurityFormList";
      public const String tblSMSecurityUserControls = "tblSMSecurityUserControls";
      public const String tblSMSecurityUserDefaults = "tblSMSecurityUserDefaults";
      public const String tblSMSecurityUserRequireds = "tblSMSecurityUserRequireds";
    }
    #endregion EntityPropertyNames
  }
  #endregion tblSMSecurityControlList class
}
