3 tier arch. in diff projects
<p>This is the solution as far as it goes.</p>

<p><img src="http://i.stack.imgur.com/kGygy.jpg" alt="enter image description here"></p>

<p>BOL. Business Object Layer.
BL. Business Layer.
DAL. Data Layer.
(No web page in the solution since it will be a php one developed in a later process)</p>

<p><strong>BOL</strong> references <strong>BL</strong>- then <strong>BL</strong> references <strong>DAL</strong>.</p>

<p>I pretty much guess you know what's inside of each .cs file. So I really like this 3 tier architecture and keeping things separated (first time working this way).
Now, when it comes to send and get data through the layers I ran across a few issues. </p>

<p>For instance: BL (methods.cs)</p>

<pre><code>  public class Methods
    {
        LineaDAL obj = new LineaDAL();
        public DataSet GetLinea()
        {
            var ds = new DataSet();
            ds = obj.GetLineaDAL();
            return ds;
        }
     ////more code
     }
</code></pre>

<p>This works great, create an object from DAL (which is referenced) and then call DAL and retrieve data over a <code>DataSet</code>.
That's cool, and it works great for getting something out of the DAL/SQL. </p>

<p>But now I'm working on an update, and I'd like BL to call a DAL function sending to it a parameter. First thing I've tried that parameter to be was of course an object from BOL. Wasn't possible for obvious reasons, BL doesn't know about BOL.</p>

<p>When this happened I started reading and found some good approachs. One of them, is to create a DTO... I don't like this one very much since I really like the top-down separated-enviroment in the tiers and layers. So I kept looking and found something related to <code>EventArgs</code> and some <code>Interfaces</code> as well, but I'm still scratching my head to see if I'm in the right path.</p>

<p>I'm cool working BL through DAL, DataSets and stuff.
But is there a way to work with <strong>BOL</strong> Objects in the top layer? If this is not possible in order to save the top-down references, should I use <code>DataSets</code> for BOL &lt;-> BL aswell? Is <code>EventArgs</code> the way to go?</p>

<p>Thank you.</p>
