有什么办法可以使用LINQ进行MDX查询吗?
答
答案肯定是否定的。如果你喝了实体框架koolaid,你会相信如果你现在开始使用EF(而不是linq2sql),你将获得免费的OLAP/BI。
答
我认为他们不得不增加超过了一些新的运营商和方法,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工作 - 谁提供的该产品的公司。
我很怀疑。在希望比什么更多问: – Stuart 2009-06-17 06:48:20