Esempio n. 1
0
        /// <summary>
        /// 获得以<paramref name="table"/>为主表的外键
        /// </summary>
        /// <param name="master"></param>
        /// <returns></returns>
        private static ValueField GetForeignKey(DataTable table, GeneratedFieldType keyType, params DbFieldType[] dbFieldTypes)
        {
            if (table.IdField == null)
            {
                throw new InvalidOperationException("表" + table.Name + "没有id字段无法获得以它为主表的外键信息");
            }
            string name = table.TableIdName;

            switch (keyType)
            {
            case GeneratedFieldType.RootKey:
            {
                name = GeneratedField.RootIdName;
            }
            break;

            case GeneratedFieldType.MasterKey:
            {
                name = GeneratedField.MasterIdName;
            }
            break;

            case GeneratedFieldType.SlaveKey:
            {
                name = GeneratedField.SlaveIdName;
            }
            break;
            }
            return(new GeneratedField(table.IdField.Tip, name, keyType, dbFieldTypes));
        }
Esempio n. 2
0
        /// <summary>
        /// 获得以<paramref name="table"/>为主表的外键
        /// </summary>
        /// <param name="master"></param>
        /// <returns></returns>
        private static ValueField GetForeignKey(DataTable table, GeneratedFieldType keyType, params DbFieldType[] dbFieldTypes)
        {
            if (table.IdField == null)
            {
                throw new InvalidOperationException("表" + table.Name + "没有id字段无法获得以它为主表的外键信息");
            }
            string name = table.TableIdName;

            return(new GeneratedField(table.IdField.Tip, name, keyType, dbFieldTypes));
        }
Esempio n. 3
0
 public GeneratedField(PropertyRepositoryAttribute attribute, string name, GeneratedFieldType generatedFieldType, params DbFieldType[] dbFieldTypes)
     : base(attribute, dbFieldTypes)
 {
     this.Name = name;
     this.GeneratedFieldType = generatedFieldType;
 }