Hola kansaki, te recomiendo que le des una leída al libro que te pase porque te puedo decir en que casos ocuparlos y que son, pero lo más importante es que lo entiendas, a grandes rasgos te puedo decir lo siguiente:
Csla.BusinessBase(Of T)
Es para ocupar un objeto que te regresa una definición, ejemplo, un cliente que le pases su ID para obtener su dirección, teléfono, etc, y así mismo con éste objeto insertas, actualizas, eliminas y consultas (ABC)
• Csla.BusinessListBase(Of T, C)
En base a la definición del objeto Cliente (tomando como referencia el ejemplo anterior) vas a obtener una colección de varios clientes para guardarlos en un objeto Collection mediante un Generic
• Csla.ReadOnlyBase(Of T)
Es parecido al BusinessBase solo que aqui no manipulas cambios del objeto (modificaciones, inseraciones, etc) simplemente quieres hacer un GET del mismo
• Csla.ReadOnlyListBase(Of T, C)
Es parecido al BusinessListBase y de igual forma no vas a manipular el objeto vas a obtener una Collection de objetos en base a una consulta
Por la sintáxis me imagino que estas usando VB.Net, y lo que le pasas al generic es un objeto previamente definido mediante properties
te paso un ejemplo básico
Código:
[Serializable()]
public partial class Costumer : BusinessBase<Costumer>
{
protected override object GetIdValue()
{
return this.idCostumer;
}
//aqui vas a colocar todas las properties que necesitas para manipular el objeto
private int idCostumer;
public int IdCostumer
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
CanReadProperty(true);
return idCostumer;
}
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
set
{
CanWriteProperty(true);
if (!idCostumer.Equals(value))
{
idCostumer = value;
PropertyHasChanged();
}
}
}
....
...
#region Factory Methods
public static Costumer NewCostumer()
{
return DataPortal.Create<Costumer>();
}
...
//obtener un solo objeto
public static Costumer GetCostumer(int CveCostumer)
{
return DataPortal.Fetch<Costumer>(new Criteria(CveCostumer));
}
Me podría llevar varías líneas de código mandarte el ejemplo, te recomiendo que leas el libro y que lo entiendas, recuerda que el CSLA es para trabajar en ambientes distribuídos, es decir en vez de hacer a mano el remoting o usar COM+, o web services te apoyas en CSLA, claro que si ya estás con framework 3.0 mejor trabaja directo con WCF pero esa ya es otra historia
Salu2 y suerte