有没有办法使用具有任意连接的entitydatasource作为可编辑网格视图的源?
我正在使用entity-framework和linq to sql。
我想要一个当前可使用“内置”编辑模式编辑的网格视图,并且只能显示在第二个表(订单簿)中有条目的项目。在SQL或EDMX模型中这两个表之间没有任何关系,我也无法访问它们。
答案 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;
}
}