public static SqlBuilder WithMetadata(this SqlBuilder builder, bool UseCache = true, string FileName = null) { SqlMetadataDatabase db = SqlMetadataDatabase.FromBuilder(builder, UseCache, FileName); builder.Metadata = db.BuildMetadata(); return(builder); }
public void GenerateMetadataTwoTimesUsingCaching() { Guid g = StopWatch.Start(); SqlBuilder b1 = SqlBuilder.Select().WithMetadata(); Console.WriteLine(StopWatch.Stop(g, StopWatch.WatchTypes.Seconds, "Metadata Pass 1/2: Metadata serialized to cache and SqlBuilder ready in {0}s")); g = StopWatch.Start(); SqlBuilder b2 = SqlBuilder.Select().WithMetadata(); Console.WriteLine(StopWatch.Stop(g, StopWatch.WatchTypes.Milliseconds, "Metadata Pass 2/2: Metadata serialized from cache and SqlBuilder ready in {0}ms")); Console.WriteLine("Removing Metadata from cache"); bool b = SqlMetadataDatabase.FromBuilder(b2).ClearMetadata(); Assert.IsTrue(b1.Metadata != null); Assert.IsTrue(b2.Metadata != null); Assert.IsTrue(b); }