实体数据源任意连接

本文关键字:连接 任意 数据源 实体 | 更新日期: 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;
            }
        }