/// <summary> /// 安装下一个类型 /// </summary> protected override void nextCreate() { if (!Attribute.IsReflection) { keyValue <code.memberInfo, fastCSharp.emit.dataMember>[] dataMembers = GetMembers(type, Attribute); Identity = fastCSharp.code.cSharp.database.GetIdentity(dataMembers); code.memberInfo[] primaryKeys = Identity == null?fastCSharp.code.cSharp.database.GetPrimaryKey(dataMembers) : null; if (Identity != null || primaryKeys != null) { int primaryKeyIndex = 0; PrimaryKey = primaryKeys != null && primaryKeys.Length == 1 ? primaryKeys[0] : null; PrimaryKeys = primaryKeys != null && primaryKeys.Length > 1 ? primaryKeys.getArray(member => new primaryKey { Member = member, PrimaryKeyName = "Key" + (++primaryKeyIndex).ToString(), IsLastPrimaryKey = primaryKeyIndex == primaryKeys.Length }) : null; // VerifyMembers = sqlMembers.getFindArray(value => IsMemberVerify(value)); if (Attribute.IsIndexSerialize) { indexSerialize.Create(type, code.cSharp.indexSerialize.SerializeAttribute); } else { serialize.Create(type, serializeAttribute); } memberMap.Create(type); copy.Create(type); create(true); } else { error.Add("内存数据库 " + type.FullName + " 缺少关键字"); } } }
/// <summary> /// 安装下一个类型 /// </summary> protected override void nextCreate() { Identity = fastCSharp.code.cSharp.dataModel.GetIdentity <modelType>(type, Attribute); PrimaryKeys = fastCSharp.code.cSharp.dataModel.GetPrimaryKeys <modelType>(type, Attribute); if (IsCreate) { create(true); } }