通用 Entity/Collection 使用 LLBLGen DataAccessAdapter 获取?
Generic Entity/Collection Fetching with LLBLGen DataAccessAdapter?
我有一个表单,需要从我使用 LLBLGen DataAccessAdapter 访问的数据库中填充下拉菜单(文本和值)。
我正在使用 Telerik,如果它提供任何其他有用的信息或选项。
有没有一种方法可以通用地执行此操作,以便我可以简单地调用如下内容:
DropDown.DataSource = GetEntityCollection<OrderEntity>();
或
DropDown.DataSource = GetEntityCollection(OrderEntity);
我最初尝试如下所示执行此操作,但我遇到的这个想法的任何版本似乎都无法解释我的整个场景。由于我需要将类型作为泛型或参数传入,因此我不能将其用作 EntityCollection<>
需要的类型(即 EntityBase2)。
public static object GetEntityCollection<T>() //Or
{
using (DataAccessAdapter adapter = new DataAccessAdapter(CONNECTION))
{
EntityCollection<typeof(T)> collection = new EntityCollection<typeof(T)>();
try
{
adapter.FetchEntityCollection(collection, null);
}
catch
{
}
return collection;
}
}
如果不能直接这样做,是否有更好的方法将其拆分以避免为我需要获取的每个数据库实体重写太多?
public static IEntityCollection2 GetEntityCollection<T>() where T : EntityBase2
{
using (DataAccessAdapter adapter = new DataAccessAdapter())
{
IEntityCollection2 collection = new EntityCollection<T> ();
try
{
adapter.FetchEntityCollection(collection, null);
}
catch
{
//Log Exception
}
return collection;
}
}
我有一个表单,需要从我使用 LLBLGen DataAccessAdapter 访问的数据库中填充下拉菜单(文本和值)。
我正在使用 Telerik,如果它提供任何其他有用的信息或选项。
有没有一种方法可以通用地执行此操作,以便我可以简单地调用如下内容:
DropDown.DataSource = GetEntityCollection<OrderEntity>();
或
DropDown.DataSource = GetEntityCollection(OrderEntity);
我最初尝试如下所示执行此操作,但我遇到的这个想法的任何版本似乎都无法解释我的整个场景。由于我需要将类型作为泛型或参数传入,因此我不能将其用作 EntityCollection<>
需要的类型(即 EntityBase2)。
public static object GetEntityCollection<T>() //Or
{
using (DataAccessAdapter adapter = new DataAccessAdapter(CONNECTION))
{
EntityCollection<typeof(T)> collection = new EntityCollection<typeof(T)>();
try
{
adapter.FetchEntityCollection(collection, null);
}
catch
{
}
return collection;
}
}
如果不能直接这样做,是否有更好的方法将其拆分以避免为我需要获取的每个数据库实体重写太多?
public static IEntityCollection2 GetEntityCollection<T>() where T : EntityBase2
{
using (DataAccessAdapter adapter = new DataAccessAdapter())
{
IEntityCollection2 collection = new EntityCollection<T> ();
try
{
adapter.FetchEntityCollection(collection, null);
}
catch
{
//Log Exception
}
return collection;
}
}