public static string GetRowKeyAsString(this RowInfo rowInfo) { Field[] finfos = rowInfo.GetDbSetInfo().GetPKFields(); string[] vals = new string[finfos.Length]; for (int i = 0; i < finfos.Length; ++i) { ValueChange fv = rowInfo.values.Single(v => v.fieldName == finfos[i].fieldName); vals[i] = fv.val; } return(string.Join(";", vals)); }
public static object[] GetPKValues(this RowInfo rowInfo, IDataHelper dataHelper) { DbSetInfo dbSetInfo = rowInfo.GetDbSetInfo(); System.Type entityType = dbSetInfo.GetEntityType(); Field[] finfos = dbSetInfo.GetPKFields(); object[] result = new object[finfos.Length]; for (int i = 0; i < finfos.Length; ++i) { ValueChange fv = rowInfo.values.Single(v => v.fieldName == finfos[i].fieldName); result[i] = dataHelper.DeserializeField(entityType, finfos[i], fv.val); } return(result); }