모두 함께 대상을 향한 3층 구조를 배워봅시다!오늘은 제가 Entity를 말씀드리자면 가끔 MODEL 실체층이라고도 합니다!

17687 단어 entity
실체층은 사실상 데이터베이스의 대상화이다. 데이터 테이블을 추상화한다. 현재 많은 이 분야의 도구가 있다. 우리는 이런 도구를 ORM 도구, 즉 대상 관계 모델이라고 부른다. microsoft는 3.5시대에 접어든 후에 LINQ의 개념을 도입했다. LINQ의 등장은 개발자의 업무 효율을 크게 향상시켰다. 이것은 전통적인 데이터베이스를 직접 대상으로 하고 IQueryable의 형식으로 방문을 제공했다. 이것은 조회 가능한 결과집이라고 불린다.우리도 그것을 VS 프로젝트의 데이터베이스로 이해할 수 있다.
쓸데없는 말은 그만하고 내 실체 디자인을 봐라!
  1:  #region  
  2:      /// <summary>
  3:      ///  
  4:      /// </summary>
  5:      public interface IDataEntity
  6:      {
  7:      }
  8:      /// <summary>
  9:      ///  
 10:      /// </summary>
 11:      public interface IEntity
 12:      {
 13:          /// <summary>
 14:          ///  , , , set
 15:          /// </summary>
 16:          bool IsValid { get; }
 17:          /// <summary>
 18:          ///  
 19:          /// </summary>
 20:          /// <returns></returns>
 21:          IEnumerable<RuleViolation> GetRuleViolations();
 22:      }
 23:      /// <summary>
 24:      ///  
 25:      /// </summary>
 26:      public class RuleViolation
 27:      {
 28:          public string ErrorMessage { get; private set; }
 29:          public string PropertyName { get; private set; }
 30:          public RuleViolation(string propertyName, string errorMessage)
 31:          {
 32:              this.ErrorMessage = errorMessage;
 33:              this.PropertyName = propertyName;
 34:          }
 35:          public RuleViolation(string errorMessage)
 36:          {
 37:              this.ErrorMessage = errorMessage;
 38:          }
 39:      }
 40:      public partial class Department : IDataEntity
 41:      {
 42:          // 
 43:          #region original field
 44:   
 45:          /// <summary>
 46:          /// 
 47:          /// </summary>
 48:          public int DeptID { get; set; }
 49:   
 50:          /// <summary>
 51:          /// 
 52:          /// </summary>
 53:          public string DeptName { get; set; }
 54:   
 55:          /// <summary>
 56:          /// 
 57:          /// </summary>
 58:          public DateTime CreateDate { get; set; }
 59:   
 60:          /// <summary>
 61:          /// 
 62:          /// </summary>
 63:          public DateTime UpdateDate { get; set; }
 64:   
 65:          /// <summary>
 66:          /// 
 67:          /// </summary>
 68:          public string Operator { get; set; }
 69:   
 70:          /// <summary>
 71:          ///  ID, ID 0
 72:          /// </summary>
 73:          public int ParentID { get; set; }
 74:   
 75:          #endregion
 76:  
 77:          // 
 78:          #region extensional field
 79:          #endregion
 80:  
 81:          // 
 82:          #region constructed function
 83:   
 84:          /// <summary>
 85:          ///  
 86:          /// </summary>
 87:          public Department()
 88:          {
 89:   
 90:          }
 91:   
 92:          /// <summary>
 93:          ///  
 94:          /// </summary>
 95:          /// <param name="_DeptID"></param>
 96:          public Department(Int32 _DeptID)
 97:          {
 98:              this.DeptID = _DeptID;
 99:   
100:          }
101:   
102:          #endregion
103:  
104:          // 
105:          #region function
106:   
107:          #endregion
108:  
109:          // 
110:          #region object overrides
111:   
112:          #endregion
113:      }
114:   
115:      public partial class Department : IEntity
116:      {
117:   
118:          #region IEntity  
119:   
120:          public bool IsValid
121:          {
122:              get { return (GetRuleViolations().Count() == 0); }
123:          }
124:   
125:          public IEnumerable<RuleViolation> GetRuleViolations()
126:          {
127:              if (String.IsNullOrEmpty(this.DeptName))
128:                  yield return new RuleViolation(" ", "DeptName");
129:              if (String.IsNullOrEmpty(this.Operator))
130:                  yield return new RuleViolation(" ", "Operator");
131:              yield break;
132:          }
133:   
134:          #endregion
135:      }
136:   
137:      #endregion

잘 보셨죠? 우리의 실체는 두 부분으로 구성되어 있습니다. 즉,'실체의 기본 속성'과'실체의 검증 메커니즘'입니다. 하하
느끼러 가자!

좋은 웹페이지 즐겨찾기