public static void SchemaToSqlClauseBuilder <TBuilder>(this VersionedSchemaObjectBase obj, SnapshotModeDefinition constSmd, TBuilder builder) where TBuilder : SqlClauseBuilderIUW <TBuilder> { if (obj != null && builder != null) { obj.Schema.Properties.ForEach(pd => pd.SnapshotMode.IfSwitchedOn(constSmd, () => builder.AppendItem(GetFieldName(ORMapping.GetMappingInfo(obj.GetType()), pd), GetPropertyValue(obj, pd)))); builder.AppendItem("SearchContent", obj.ToFullTextString()); builder.AppendItem("SchemaType", obj.SchemaType); builder.AppendItem("Status", (int)obj.Status); } }