If you want the data to show up in Composite C1 as a first class citizen look into making a data provider that expose your data - check
If you just need to push your data our on pages, then Web Form Controls or MVC that talk directly to your data is the fastest way to get there (like burningice suggest). Check
If you would like to expose your data to XSLT Functions (so you do the layout logic using XSLT) then look into the C# Functions feature - create functions that grab the data and return XElement, IEnumerable<XElement> etc. and then call them from your
XSLT Functions. Check http://docs.composite.net/C1/XSLT.aspx for XSLT info.
Yet another way would be to create a "Inline C# Function" like the one below - and emit the markup you want from C#. This function will automatically be available to insert on pages etc.
public static class InlineMethodFunction
public static XhtmlDocument Sample()
var doc = new XhtmlDocument();
new XElement( Namespaces.Xhtml + "h1", "Sample" ),
new XElement( Namespaces.Xhtml + "p", "If you like mixing this up a lot..." )