有什么办法可以使用LINQ进行MDX查询吗?

问题描述:

任何人都知道是否有计划的LINQ to MDX。有什么办法可以使用LINQ进行MDX查询吗?

目前是否任何方式存在使用LINQ与MDX/CUBES

答案肯定是否定的。如果你喝了实体框架koolaid,你会相信如果你现在开始使用EF(而不是linq2sql),你将获得免费的OLAP/BI。

+0

我很怀疑。在希望比什么更多问: – Stuart 2009-06-17 06:48:20

我认为他们不得不增加超过了一些新的运营商和方法,LINQ,他们可以支持MDX的甚至显著子集之前:

WITH SET c0 AS 'HIERARCHIZE({[Measures].[Internet Sales Amount], [Measures].[Internet Gross Profit], [Measures].[Reseller Gross Profit], [Measures].[Average Sales Amount], [Measures].[Gross Profit]})' 
SET r0_1 AS 'HIERARCHIZE(Filter(Filter({[Customer].[Customer Geography].[All Customers], AddCalculatedMembers(DESCENDANTS([Customer].[Customer Geography].[All Customers], 1))}, NOT [Customer].[Customer Geography].currentmember.parent is [Customer].[Customer Geography].[All Customers] OR vba!ucase(left([Customer].[Customer Geography].currentmember.properties("CAPTION"),1)) = "u"), NOT [Customer].[Customer Geography].currentmember.level is [Customer].[Customer Geography].[Country] OR vba!ucase(left([Customer].[Customer Geography].currentmember.properties("CAPTION"),1)) = "u"))' 
SELECT NON EMPTY {[c0]} 
ON COLUMNS, NON EMPTY VISUALTOTALS(FILTER({[r0_1]} 
,vba!ucase(right([Customer].[Customer Geography].currentmember.properties("CAPTION"),8)) = "SUBTOTAL" OR [Measures].[Internet Gross Profit] > 80000) 
, "* SUBTOTAL") ON ROWS FROM [Adventure Works] 
CELL PROPERTIES VALUE, FORMATTED_VALUE, FORMAT_STRING, FORE_COLOR, BACK_COLOR 

是的,现在可以使用LINQ到MDX/SSAS。您需要将Microsoft ADO.NET实体框架4.0-4.1(EF)与SSAS实体框架提供程序(tm)一起使用。 SSAS实体框架提供程序将LINQ转换为MDX。 EF + SSAS实体框架提供程序将使您能够查询SQL Server Analysis Services(SSAS)OLAP多维数据集。

您可以检出并要求SSAS实体框架提供在这里: http://www.agiledesignllc.com/Products.htm

披露:我的敏捷设计LLC工作 - 谁提供的该产品的公司。