I have 3 layered architecture

I am using strongly typed data set in data access layer.

In my business logic layer i have

using DataAccess;
using DataAccess.DataSet1TableAdapters;


public DataSet1.PersonDataTable GetPersonByRegion(int regionId)
{
return adapter.GetDataByRegionId(regionId);
}

my understanding is i would need dataset of type DataSet1.PersonDataTable to capture value returned from this function in UI layer...for which i would have to refer to DataAccess layer in UI which i feel is not right as per 3 tier principle

now how do i get the value from this function with out referring or initializing link to DataAccess or making object of DataSet1.PersonDataTable type in presentation layer....

If i have to do
using DataAccess; or
using Data;

in presentation layer, is it violation of 3 tier model principle which says UI should not talk directly to dataacess layer...



so how do i tackle this...
I am bit new to dot net. In php i use to return array and no need to initialize any type of data object in presentation layer...