实体数据源任意连接
本文关键字:连接 任意 数据源 实体 | 更新日期: 2023-09-27 18:17:16
是否有一种方法可以使用具有任意连接的entitydatasource作为可编辑gridview的源?
我正在使用实体框架和linq到sql。
我想要一个gridview,当前可使用"内置"编辑模式和分页来编辑,仅显示在第二个表(订单簿)中有条目的项目。在SQL或EDMX模型中,这两个表之间没有关系,我无法访问它们。
使用如下代码;它使用ID列将视图绑定到表对象。绑定到querycreated事件。、! !确保在创建EntityDataSource时没有应用任何过滤。如果你选择它。[XYZ]则返回一个不能进行类型转换的匿名类型。注意e.Query.Cast()
protected void EntityDataSource1_OnQueryCreated(object sender, QueryCreatedEventArgs e)
{
var filters = DomainFilters;
if (filters.Count > 0)
{
e.Query = from view in e.Query.Cast<MAPPING_VIEW>()
join bo1 in SecurityContext.MAP_TYPE
on view.MAP_TYPE_ID equals bo1.MAP_TYPE_ID
where filters.Contains(bo1.DOMAIN_ID)
orderby view.NAME
select view;
}
else
{
e.Query = from view in e.Query.Cast<MAPPING_VIEW>()
orderby view.NAME
select view;
}
}