protected DataRecord(SerializationInfo info, StreamingContext context) { foreach (SerializationEntry entry in info) { if (Compare.AreSameOrdinal("isDirtyRecord", entry.Name)) { continue; } Properties[entry.Name].InvokeSetter((TDataRecord)this, entry.Value); } flags[IsDirtyRecord] = info.GetBoolean("isDirtyRecord"); }
public static bool TablesAreSame(TableData a, TableData b) { if (a == null || b == null) { return(false); } if (ReferenceEquals(a, b)) { return(true); } return(Compare.AreSameOrdinal(a.Name, b.Name) && Compare.AreSameOrdinal(a.Owner, b.Owner)); }
public static bool ColumnsAreSame(IQueryableColumn a, IQueryableColumn b) { if (a == null || b == null) { return(false); } if (ReferenceEquals(a, b)) { return(true); } return(Compare.AreSameOrdinal(a.Name, b.Name) && Compare.AreSameOrdinal(a.Table.Name, b.Table.Name) && Compare.AreSameOrdinal(a.Table.Owner, b.Table.Owner)); }
private void GenerateFromViews(string baseNamespace, IDictionary <string, StringBuilder> lookup, StringBuilder output) { foreach (TableDefinition table in session.Schema.Tables) { if (!table.IsReadOnly) { continue; } string classNamespace = CodeFormat.ToPascalCase(table.Owner); // Separate tables into namespace buckets. StringBuilder value; if (lookup.TryGetValue(classNamespace, out value)) { if (table.IsEnum) { value.AppendLine(GenerateEnum(table)); value.AppendLine(); } else { value.AppendLine(classProcessor.GenerateClass(table)); value.AppendLine(); } } else { if (!Compare.AreSameOrdinal(table.Owner, "dbo")) { output.AppendLine(string.Format("using {0};", baseNamespace.Length > 0 ? baseNamespace + "." + classNamespace : classNamespace)); } StringBuilder builder = new StringBuilder(); lookup.Add(classNamespace, builder); if (table.IsEnum) { builder.AppendLine(GenerateEnum(table)); builder.AppendLine(); } else { builder.AppendLine(classProcessor.GenerateClass(table)); builder.AppendLine(); } } } }
private string GenerateTableAttribute(TableDefinition table) { StringBuilder attrBuilder = new StringBuilder(); attrBuilder.AppendFormat("ActiveTable(\"{0}\", \"{1}\"", table.Owner, table.Name); if (table.PrimaryKey != null) { attrBuilder.Append(", \"" + table.PrimaryKey.Name + "\""); } if (table.IsReadOnly) { attrBuilder.Append(", ReadOnly=true"); } foreach (TableColumnDefinition column in table.Columns) { if (Compare.AreSameOrdinal(deletedColumn, column.Name)) { attrBuilder.AppendFormat(", DeletedColumn=\"{0}\"", column.Name); } if (Compare.AreSameOrdinal(modifiedOnColumn, column.Name)) { attrBuilder.AppendFormat(", ModifiedOnColumn=\"{0}\"", column.Name); } if (Compare.AreSameOrdinal(modifiedByColumn, column.Name)) { attrBuilder.AppendFormat(", ModifiedByColumn=\"{0}\"", column.Name); } if (Compare.AreSameOrdinal(createdOnColumn, column.Name)) { attrBuilder.AppendFormat(", CreatedOnColumn=\"{0}\"", column.Name); } if (Compare.AreSameOrdinal(createdbyColumn, column.Name)) { attrBuilder.AppendFormat(", CreatedByColumn=\"{0}\"", column.Name); } } attrBuilder.Append(")"); return(attrBuilder.ToString()); }
public static bool ColumnsAreSame(IQueryableColumn column, PrimaryKeys keys) { foreach (IQueryableColumn b in keys) { if (column == null || b == null) { return(false); } if (ReferenceEquals(column, b)) { return(true); } if (Compare.AreSameOrdinal(column.Name, b.Name) && Compare.AreSameOrdinal(column.Table.Name, b.Table.Name) && Compare.AreSameOrdinal(column.Table.Owner, b.Table.Owner)) { return(true); } } return(false); }