Там какой-либо путь состоит в том, чтобы использовать LINQ для запросов MDX?

В общем, комментарии - это бородавка, которая указывает на плохой дизайн, особенно длинные бессвязные комментарии, где ясно, что разработчик не имел ни малейшего понятия, какого чёрта они там делали, и пытался восполнить это, написав комментарий.

Места, где комментарии полезны:

  • Оставляя номер заявки рядом с исправлением, чтобы будущие программисты могли понять бизнес-требования
  • Объяснение особенно хитрого взлома
  • Комментарий к бизнес-логике для фрагмента кода
  • Краткие описания в документах API, чтобы сторонние разработчики могли использовать ваш API

При любых обстоятельствах программисты должны стремиться писать код, описательный и НЕ пишите комментарии, которые описывают плохо написанный код. При этом я думаю, что есть много веских причин, по которым языки должны и должны поддерживать комментарии.

7
задан Stuart 16 June 2009 в 16:52
поделиться

2 ответа

Определенно нет. Если вы выпьете Entity Framework koolaid, вы поверите, что если начнете использовать EF сейчас (вместо linq2sql), вы получите OLAP / BI бесплатно в будущем.

4
ответ дан 7 December 2019 в 03:19
поделиться

Думаю, им придется добавить в 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
0
ответ дан 7 December 2019 в 03:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: