¿Hay alguna forma de usar LINQ para consultas MDX?
Pregunta
Alguien sabe si hay planes para LINQ to MDX.
¿Existe alguna forma actualmente de usar LINQ con MDX / CUBES
Solución
La respuesta es definitivamente saber. Si bebe el Entidad Framework koolaid, creerá que si comienza a usar EF ahora (en lugar de linq2sql) obtendrá OLAP / BI de forma gratuita en el futuro.
Otros consejos
Sí, ahora es posible usar LINQ a MDX / SSAS. Necesitará Microsoft ADO.NET Entity Framework 4.0-4.1 (EF) junto con SSAS Entity Framework Provider (tm) para habilitar eso. El proveedor de SSAS Entity Framework traducirá LINQ a MDX. El proveedor de Entity Framework de EF + SSAS le permitirá consultar los cubos OLAP de SQL Server Analysis Services (SSAS).
Puede realizar el pago y solicitar el proveedor de SSAS Entity Framework aquí: http://www.agiledesignllc.com/Products.htm
Divulgación: trabajo para Agile Design LLC, la compañía que ofrece este producto.
Creo que tendrían que agregar más de unos pocos operadores y métodos nuevos a LINQ antes de que pudieran admitir incluso un subconjunto significativo de 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