> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# kinetica.Records.IKineticaRecord

> kinetica.Records.IKineticaRecord — Kinetica C# API

<div className="kinetica-doxygen">
  <div className="contents">
    <p>Interface for records that can be inserted into <a className="el" href="/content/api/cs/classkinetica_1_1Kinetica" title="API to talk to Kinetica Database.">Kinetica</a>. <a href="#details">More...</a></p>
    <div id="dynsection-0" className="dynheader closed"> Inheritance diagram for kinetica.Records.IKineticaRecord:</div>

    <div id="dynsection-0-summary" className="dynsummary" />

    <div id="dynsection-0-content" className="dyncontent">
      <div className="center" />

      <div className="center"><span className="legend">\[<a target="top" href="/content/api/cs/graph_legend">legend</a>]</span></div>
    </div>

    <table className="memberdecls">
      <tr className="heading">
        <td colSpan="2">
          <h2 className="groupheader"> Public Member Functions</h2>
        </td>
      </tr>

      <tr className="memitem:a529e9dd87a057b52bf1092f1e8cf4bfd" id="r_a529e9dd87a057b52bf1092f1e8cf4bfd">
        <td className="memItemLeft" align="right" valign="top">string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a529e9dd87a057b52bf1092f1e8cf4bfd">GetAvroSchema</a> ()</td>
      </tr>

      <tr className="memdesc:a529e9dd87a057b52bf1092f1e8cf4bfd">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Returns the Avro schema as a JSON string for this record type. <br /></td>
      </tr>

      <tr className="separator:a529e9dd87a057b52bf1092f1e8cf4bfd">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>

      <tr className="memitem:a529e9dd87a057b52bf1092f1e8cf4bfd" id="r_a529e9dd87a057b52bf1092f1e8cf4bfd">
        <td className="memItemLeft" align="right" valign="top">string </td>
        <td className="memItemRight" valign="bottom"><a className="el" href="#a529e9dd87a057b52bf1092f1e8cf4bfd">GetAvroSchema</a> ()</td>
      </tr>

      <tr className="memdesc:a529e9dd87a057b52bf1092f1e8cf4bfd">
        <td className="mdescLeft"> </td>
        <td className="mdescRight">Returns the Avro schema as a JSON string for this record type. <br /></td>
      </tr>

      <tr className="separator:a529e9dd87a057b52bf1092f1e8cf4bfd">
        <td className="memSeparator" colSpan="2"> </td>
      </tr>
    </table>

    <h2 className="groupheader">Detailed Description</h2>

    <div className="textblock">
      <p>Interface for records that can be inserted into <a className="el" href="/content/api/cs/classkinetica_1_1Kinetica" title="API to talk to Kinetica Database.">Kinetica</a>. </p>
      <p>Equivalent to Rust's <a className="el" href="/content/api/cs/classkinetica_1_1KineticaRecord" title="Convenience class for using Avro.Generic.GenericRecord objects.">KineticaRecord</a> trait.</p>
      <p>Types implementing this interface can be used with the BulkInserter for high-performance data ingestion.</p>

      <div className="fragment">
        <div className="line"><span className="keyword">public</span> <span className="keyword">class </span>SensorReading : <a className="code hl_interface" href="/content/api/cs/interfacekinetica_1_1Records_1_1IKineticaRecord">IKineticaRecord</a></div>

        <div className="line">
          {"{"}
        </div>

        <div className="line"> <span className="keyword">public</span> <span className="keywordtype">int</span> Id {"{"} <span className="keyword">get</span>; <span className="keyword">set</span>; {"}"}</div>
        <div className="line"> <span className="keyword">public</span> <span className="keywordtype">string</span> SensorName {"{"} <span className="keyword">get</span>; <span className="keyword">set</span>; {"}"}</div>
        <div className="line"> <span className="keyword">public</span> <span className="keywordtype">double</span> Value {"{"} <span className="keyword">get</span>; <span className="keyword">set</span>; {"}"}</div>

        <div className="line" />

        <div className="line"> <span className="keyword">private</span> <span className="keyword">static</span> readonly <span className="keywordtype">string</span> \_schema = <span className="keyword">new</span> AvroSchemaBuilder(<span className="stringliteral">"SensorReading"</span>)</div>
        <div className="line"> .IntField(<span className="stringliteral">"id"</span>)</div>
        <div className="line"> .StringField(<span className="stringliteral">"sensor\_name"</span>)</div>
        <div className="line"> .DoubleField(<span className="stringliteral">"value"</span>)</div>
        <div className="line"> .Build();</div>

        <div className="line" />

        <div className="line"> <span className="keyword">public</span> <span className="keywordtype">string</span> <a className="code hl_function" href="#a529e9dd87a057b52bf1092f1e8cf4bfd">GetAvroSchema</a>() => \_schema;</div>

        <div className="line" />

        <div className="line"> <span className="keyword">public</span> <span className="keyword">static</span> IReadOnlyDictionary\<string, IList\<string>> GetTypeProperties()</div>
        <div className="line"> => <span className="keyword">new</span> TypePropertiesBuilder()</div>
        <div className="line"> .PrimaryKey(<span className="stringliteral">"id"</span>)</div>
        <div className="line"> .Build();</div>

        <div className="line">
          {"}"}
        </div>

        <div className="ttc" id="ainterfacekinetica_1_1Records_1_1IKineticaRecord_html">
          <div className="ttname"><a href="/content/api/cs/interfacekinetica_1_1Records_1_1IKineticaRecord">kinetica.Records.IKineticaRecord</a></div>
          <div className="ttdoc">Interface for records that can be inserted into Kinetica.</div>
          <div className="ttdef"><span className="b">Definition</span> <a href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Records_2IKineticaRecord_8cs_source#l00034">IKineticaRecord.cs:35</a></div>
        </div>

        <div className="ttc" id="ainterfacekinetica_1_1Records_1_1IKineticaRecord_html_a529e9dd87a057b52bf1092f1e8cf4bfd">
          <div className="ttname"><a href="#a529e9dd87a057b52bf1092f1e8cf4bfd">kinetica.Records.IKineticaRecord.GetAvroSchema</a></div>
          <div className="ttdeci">string GetAvroSchema()</div>
          <div className="ttdoc">Returns the Avro schema as a JSON string for this record type.</div>
        </div>
      </div>

      <p className="definition">Definition at line <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Records_2IKineticaRecord_8cs_source#l00034">34</a> of file <a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Records_2IKineticaRecord_8cs_source">IKineticaRecord.cs</a>.</p>
    </div>

    <h2 className="groupheader">Member Function Documentation</h2>
    <h2 className="memtitle"><span className="permalink"><a href="#a529e9dd87a057b52bf1092f1e8cf4bfd">◆ </a></span>GetAvroSchema() <span className="overload">\[1/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">string kinetica.Records.IKineticaRecord.GetAvroSchema </td>
            <td>(</td>

            <td className="paramname">
              <span className="paramname">
                <span className="em" />
              </span>
            </td>

            <td>)</td>

            <td />
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Returns the Avro schema as a JSON string for this record type. </p>
        <p>The schema should be cached (e.g., in a static field) to avoid repeated string allocations.</p>

        <div className="dl section return">
          <div className="dt">Returns</div>
          <div className="dd">A JSON string containing the Avro record schema.</div>
        </div>

        <p>Implemented in <a className="el" href="/content/api/cs/classkinetica_1_1Records_1_1GenericRecord#a8bffb55bb9623d3aae3870a39ad1d9a5">kinetica.Records.GenericRecord</a>, and <a className="el" href="/content/api/cs/classkinetica_1_1Records_1_1GenericRecord#a8bffb55bb9623d3aae3870a39ad1d9a5">kinetica.Records.GenericRecord</a>.</p>
      </div>
    </div>

    <h2 className="memtitle"><span className="permalink"><a href="#a529e9dd87a057b52bf1092f1e8cf4bfd">◆ </a></span>GetAvroSchema() <span className="overload">\[2/2]</span></h2>

    <div className="memitem">
      <div className="memproto">
        <table className="memname">
          <tr>
            <td className="memname">string kinetica.Records.IKineticaRecord.GetAvroSchema </td>
            <td>(</td>

            <td className="paramname">
              <span className="paramname">
                <span className="em" />
              </span>
            </td>

            <td>)</td>

            <td />
          </tr>
        </table>
      </div>

      <div className="memdoc">
        <p>Returns the Avro schema as a JSON string for this record type. </p>
        <p>The schema should be cached (e.g., in a static field) to avoid repeated string allocations.</p>

        <div className="dl section return">
          <div className="dt">Returns</div>
          <div className="dd">A JSON string containing the Avro record schema.</div>
        </div>

        <p>Implemented in <a className="el" href="/content/api/cs/classkinetica_1_1Records_1_1GenericRecord#a8bffb55bb9623d3aae3870a39ad1d9a5">kinetica.Records.GenericRecord</a>, and <a className="el" href="/content/api/cs/classkinetica_1_1Records_1_1GenericRecord#a8bffb55bb9623d3aae3870a39ad1d9a5">kinetica.Records.GenericRecord</a>.</p>
      </div>
    </div>

    <hr />

    The documentation for this interface was generated from the following files:

    <ul>
      <li>\_build/public-os\_ubuntu24.04-arch\_amd64-cc\_gcc\_13.3.0/install/Kinetica/Records/<a className="el" href="/content/api/cs/__build_2public-os__ubuntu24_804-arch__amd64-cc__gcc__13_83_80_2install_2Kinetica_2Records_2IKineticaRecord_8cs_source">IKineticaRecord.cs</a></li>
      <li>Kinetica/Records/<a className="el" href="/content/api/cs/Kinetica_2Records_2IKineticaRecord_8cs_source">IKineticaRecord.cs</a></li>
    </ul>
  </div>
</div>
