<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Don&#39;t Repeat Yourself on Cathrine Wilhelmsen</title>
    <link>https://www.cathrinewilhelmsen.net/tags/dont-repeat-yourself/</link>
    <description>Recent content in Don&#39;t Repeat Yourself on Cathrine Wilhelmsen</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>© Cathrine Wilhelmsen</copyright>
    <lastBuildDate>Tue, 28 Aug 2018 17:56:19 +0200</lastBuildDate>
    <atom:link href="https://www.cathrinewilhelmsen.net/tags/dont-repeat-yourself/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Don&#39;t Repeat Your Biml - C# Extension Methods</title>
      <link>https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-extension-methods/</link>
      <pubDate>Tue, 28 Aug 2018 17:56:19 +0200</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-extension-methods/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;In a previous blog post, we looked at how to use &lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-csharp-vb-code-files&#34;&gt;C#/VB Code Files in Biml&lt;/a&gt;. There are several benefits to moving custom C# code into separate files. It allows you to reuse that code across multiple projects and solutions. You can maintain the code in your editor of choice, taking advantage of intellisense and syntax highlighting. And finally, my personal favorite: you can create custom &lt;em&gt;extension methods&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will look at how to simplify our Biml projects by creating and using C# extension methods. We will build on the examples from the previous &lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-csharp-vb-code-files&#34;&gt;C#/VB Code Files in Biml&lt;/a&gt; blog post.&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Biml Annotations and ObjectTags</title>
      <link>https://www.cathrinewilhelmsen.net/biml-annotations-objecttags/</link>
      <pubDate>Thu, 08 Feb 2018 22:18:15 +0100</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/biml-annotations-objecttags/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelTagCircle.svg&#34; alt=&#34;Biml Wheel with a Tag hanging from it.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Biml objects have many built-in attributes. For example, all Tables have &lt;em&gt;SchemaName&lt;/em&gt; and all Packages have &lt;em&gt;ProtectionLevel&lt;/em&gt;. When your Biml solution starts to grow, you will quickly see the need for adding additional metadata that can be used in other Biml files. A common use case in Data Warehouse Staging projects is to store the source schema and source table name on your staging table objects. This allows you to use the source metadata in a &lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-tiered-biml-files&#34;&gt;higher tier Biml file&lt;/a&gt; that generates the SSIS packages to load the tables. To store and use this additional metadata, you can use Biml Annotations or ObjectTags.&lt;/p&gt;&#xA;&lt;p&gt;Biml Annotations and ObjectTags are both &lt;em&gt;Key/Value pairs&lt;/em&gt;. Annotations are String/String pairs intended for storing simple text metadata, while ObjectTags are String/Object pairs that can also store more complex metadata in .NET objects.&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Don&#39;t Repeat Your Biml - Tiered Biml Files</title>
      <link>https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-tiered-biml-files/</link>
      <pubDate>Mon, 22 Jan 2018 12:00:39 +0100</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-tiered-biml-files/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Many Biml solutions start off very simple, with just a single Biml file that generates a few SSIS packages. Most developers quickly see the need for a more complex solution for multiple sources. One way to reuse code and apply the &lt;a href=&#34;https://en.wikipedia.org/wiki/Don%27t_repeat_yourself&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Don&amp;rsquo;t Repeat Yourself&lt;/a&gt; software engineering principle in Biml is to use &lt;em&gt;Tiered Biml Files&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In addition to using Tiered Biml Files, there are four other main ways you can avoid repeating your Biml code:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-biml-include-files&#34;&gt;Include Files&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-callbimlscript&#34;&gt;CallBimlScript&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-csharp-vb-code-files&#34;&gt;C#/VB Code Files&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Transformers (&lt;em&gt;&lt;a href=&#34;http://varigence.com/BimlStudio&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BimlStudio&lt;/a&gt; feature only&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In this post, we will look at how to use Tiered Biml Files.&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Don&#39;t Repeat Your Biml - C#/VB Code Files</title>
      <link>https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-csharp-vb-code-files/</link>
      <pubDate>Thu, 28 Jan 2016 21:48:32 +0100</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-csharp-vb-code-files/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Do you use C#/VB classes and methods in your Biml projects? One solution is to create class nuggets &lt;strong&gt;&amp;lt;#+ &amp;hellip; #&amp;gt;&lt;/strong&gt;, but they can only be used in their containing Biml file. You can move class nuggets to separate files and &lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-biml-include-files/&#34;&gt;include&lt;/a&gt; those files, but a more elegant solution is to use &lt;em&gt;C#/VB Code Files&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In addition to using C#/VB Code Files, there are four other main ways you can avoid repeating your Biml code:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-biml-include-files/&#34;&gt;Include Files&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-callbimlscript/&#34;&gt;CallBimlScript&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-tiered-biml-files/&#34;&gt;Tiered Biml Files&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Transformers (&lt;em&gt;&lt;a href=&#34;http://varigence.com/BimlStudio&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BimlStudio&lt;/a&gt; feature only&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In this post, we will look at how to use C#/VB Code Files.&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Don&#39;t Repeat Your Biml - Include Files</title>
      <link>https://www.cathrinewilhelmsen.net/dont-repeat-biml-include-files/</link>
      <pubDate>Tue, 05 Jan 2016 21:07:54 +0100</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/dont-repeat-biml-include-files/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Are you using Biml so you won&amp;rsquo;t have to do the same tasks over and over and over again in multiple SSIS packages? If so, you probably don&amp;rsquo;t want to write the same Biml code over and over and over again either. Instead, you can move common code to separate files, centralize and reuse these files in many projects, and update code in &lt;em&gt;one&lt;/em&gt; file to make changes to &lt;em&gt;all&lt;/em&gt; projects. One of the ways to apply this &lt;a href=&#34;https://en.wikipedia.org/wiki/Don%27t_repeat_yourself&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Don&amp;rsquo;t Repeat Yourself&lt;/a&gt; software engineering principle in Biml is to use &lt;em&gt;Include Files&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In addition to using Include Files, there are four other main ways you can avoid repeating your Biml code:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-callbimlscript&#34;&gt;CallBimlScript&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-tiered-biml-files&#34;&gt;Tiered Biml Files&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-csharp-vb-code-files&#34;&gt;C#/VB Code Files&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Transformers (&lt;em&gt;&lt;a href=&#34;http://varigence.com/BimlStudio&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BimlStudio&lt;/a&gt; feature only&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In this post we will look at how to use Include Files.&#xA;&lt;span id=&#34;continue-reading&#34;&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Don&#39;t Repeat Your Biml - CallBimlScript</title>
      <link>https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-callbimlscript/</link>
      <pubDate>Mon, 23 Feb 2015 21:04:10 +0100</pubDate>
      <guid>https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-callbimlscript/</guid>
      <description>&lt;p&gt;&#xA;&#xA;&#xA;&#xA;&lt;img src=&#34;https://www.cathrinewilhelmsen.net/images/biml/BimlWheelCircle.svg&#34; alt=&#34;Biml Wheel.&#34; width=&#34;80&#34; height=&#34;80&#34; class=&#34;alignleft width-80&#34; loading=&#34;lazy&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Are you using Biml so you won&amp;rsquo;t have to do the same tasks over and over and over again in multiple SSIS packages? If so, you probably don&amp;rsquo;t want to write the same Biml code over and over and over again either. Instead, you can move common code to separate files, centralize and reuse these files in many projects, and update code in &lt;em&gt;one&lt;/em&gt; file to make changes to &lt;em&gt;all&lt;/em&gt; projects. One of the ways to apply this &lt;a href=&#34;https://en.wikipedia.org/wiki/Don%27t_repeat_yourself&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Don&amp;rsquo;t Repeat Yourself&lt;/a&gt; software engineering principle in Biml is to use &lt;em&gt;CallBimlScript&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In addition to using CallBimlScript, there are four other main ways you can avoid repeating your Biml code:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-biml-include-files&#34;&gt;Include Files&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-tiered-biml-files&#34;&gt;Tiered Biml Files&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.cathrinewilhelmsen.net/dont-repeat-your-biml-csharp-vb-code-files&#34;&gt;C#/VB Code Files&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Transformers (&lt;em&gt;&lt;a href=&#34;http://varigence.com/BimlStudio&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;BimlStudio&lt;/a&gt; feature only&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In this post we will look at how to use CallBimlScript with Parameters.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
