123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Ant.Frame;
- using System.Reflection;
- using Ant.Core.Visitors;
- using Ant.Descriptors;
- using Ant.DbExpressions;
- namespace Ant.ORM
- {
- /// <summary>
- /// 类成员的属性
- /// </summary>
- public class FiledMetaData
- {
- Dictionary<MemberInfo, MappingMemberDescriptor> _mappingMemberDescriptors;
- /// <summary>
- /// 类中所有成员属性
- /// </summary>
- public Dictionary<MemberInfo, MappingMemberDescriptor> MappingMemberDescriptors
- {
- get { return this._mappingMemberDescriptors; }
- set { _mappingMemberDescriptors = value; }
- }
- Dictionary<MemberInfo, DbColumnAccessExpression> _memberColumnMap;
- /// <summary>
- /// 对应数据库字段
- /// </summary>
- public Dictionary<MemberInfo, DbColumnAccessExpression> MemberColumnMap
- {
- get { return this._memberColumnMap; }
- set { _memberColumnMap = value; }
- }
- private List<MemberInfo> _fields;
- /// <summary>
- /// 实体的值集合
- /// </summary>
- public List<MemberInfo> Fields
- {
- get { return _fields; }
- set { _fields = value; }
- }
- MappingMemberDescriptor _primaryKey = null;
- /// <summary>
- /// 主键
- /// </summary>
- public MappingMemberDescriptor PrimaryKey
- {
- get { return this._primaryKey; }
- set { _primaryKey = value; }
- }
- MappingMemberDescriptor _autoIncrement = null;
- /// <summary>
- /// 自增长
- /// </summary>
- public MappingMemberDescriptor AutoIncrement
- {
- get { return this._autoIncrement; }
- set { _autoIncrement = value; }
- }
- /// <summary>
- /// 类中表名
- /// </summary>
- public DbTable Table
- {
- get; set;
- }
- /// <summary>
- /// 实体类属性
- /// </summary>
- public Type EntityType { get; set; }
- /// <summary>
- ///
- /// </summary>
- public PropertyInfo[] Propertys { get; set; }
- DefaultExpressionVisitor _visitor = null;
- /// <summary>
- ///
- /// </summary>
- public DefaultExpressionVisitor Visitor
- {
- get
- {
- if (this._visitor == null)
- this._visitor = new DefaultExpressionVisitor(this);
- return this._visitor;
- }
- }
- }
- /// <summary>
- /// 类成员属性和类值实体
- /// </summary>
- public class MetaData
- {
- public MetaData()
- {
- }
- #region 属性
- /// <summary>
- /// 实体属性
- /// </summary>
- public FiledMetaData FiledMeta
- {
- get; set;
- }
- /// <summary>
- /// 找出实体中有值的集合DbColumn是实体中属性名和属性值,DbExpression是用查询
- /// </summary>
- public Dictionary<string, DbColumn> FieldsColumns
- {
- get; set;
- }
- /// <summary>
- /// 找出实体中有值的集合
- /// </summary>
- public Dictionary<string, DbColumn> WhereColumns
- {
- get; set;
- }
- ///// <summary>
- ///// 状态值属性一般用Update操作
- ///// </summary>
- //public Dictionary<string, EntityValue> Values
- //{
- // get; set;
- //}
- /// <summary>
- /// 更新列
- /// </summary>
- public Dictionary<string, DbColumn> UpdateColumns
- {
- get; set;
- }
- private EntityPersistType persistType;
- /// <summary>
- /// 操作类型
- /// </summary>
- public EntityPersistType PersistType
- {
- get { return persistType; }
- set { persistType = value; }
- }
- //private string _moduleName;
- ///// <summary>
- ///// 模块
- ///// </summary>
- //public string ModuleName
- //{
- // get { return _moduleName; }
- // set { _moduleName = value; }
- //}
- /// <summary>
- /// 自定义查询条件
- /// </summary>
- public string WhereSql
- {
- get; set;
- }
- #endregion
- }
- }
|