EntityDataSource任意连接

时间:2013-06-06 10:08:43

标签: c# asp.net linq entity-framework entitydatasource

有没有办法使用具有任意连接的entitydatasource作为可编辑网格视图的源?

我正在使用entity-framework和linq to sql。

我想要一个当前可使用“内置”编辑模式编辑的网格视图,并且只能显示在第二个表(订单簿)中有条目的项目。在SQL或EDMX模型中这两个表之间没有任何关系,我也无法访问它们。

1 个答案:

答案 0 :(得分:1)

使用这样的东西;它使用ID列将视图绑定到表对象。绑定到querycreated事件。 AND !! 确保在创建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;
            }
        }