|
28.12.2016, 12:20 | #1 |
Участник
|
Как соотносятся AX Data Entity и Entity framework?
DAX dataentity: https://ax.help.dynamics.com/en/wiki...ies-home-page/
Entity framework: https://msdn.microsoft.com/en-us/lib...v=vs.113).aspx + https://ru.wikipedia.org/wiki/ADO.NET_Entity_Framework + http://metanit.com/sharp/entityframework/ У меня есть несколько соображений, но я, пожалуй, воздержусь пока. Вдруг кто-нибудь скажет неожиданное. основной вопрос: Как соотносятся AX Data Entity и Entity framework? дополнительный вопрос: правильно ли я понимаю, что аксапта и EF точно используют один и тот же диалект oData для общения друг с другом? есть ли другие совместные отношения? |
|
29.12.2016, 14:39 | #2 |
Участник
|
Entity framework - некий фрейворк с помощью которого можно прицепится к SQL и при этом не надо сами SQL запросы писать или думать про схему DB.
Например через LinqPad можно написать запрос и EF сам разбертся кого с кем join и что select. AX Data Entity - посути SQL вьюхи доступные через oData и с вкраплениями безнес логики. Как соотносятся? Если надо доступ к SQL table/view вывести через oData обычно используют EF. Основное преимущество - простота. Конечный результат будет очень похож на AX Data Entity. Минус auth, бизнес логика. Плюс больше возможностей, например в AX Data Entity больше 1000 записей не выбирает. Цитата:
дополнительный вопрос:
правильно ли я понимаю, что аксапта и EF точно используют один и тот же диалект oData для общения друг с другом? есть ли другие совместные отношения? Если сравнивать AX с oData v4, то AX не поддерживает стандартный contains и подменяет его самодельным eq '*searchTxt*'. Непонятно зачем так, но видимо есть и другие отличия. dynamics-ax-7-services-technical-concepts-guide
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
За это сообщение автора поблагодарили: mazzy (10). |
29.12.2016, 14:59 | #3 |
Участник
|
(оО)
это на практике раскопано или где-то написано? Цитата:
смотри, данные из data entity публикуются автоматом https://ax.help.dynamics.com/en/wiki...-7/#addressing если опустить вопросы авторизации, то можно ли предположить, что в аксаптовские data entity заранее заложена возможность работать с аксаптой из отдельно написанных маленьких приложений, которые используют Entity Framework? другими словами, аксаптовские формы и MorphX стал бы не нужен. Цитата:
Сообщение от Alex_KD
Если сравнивать AX с oData v4, то AX не поддерживает стандартный contains и подменяет его самодельным eq '*searchTxt*'. Непонятно зачем так, но видимо есть и другие отличия.
dynamics-ax-7-services-technical-concepts-guide и тоже не понимаю почему. можно ли предположить, что реализована возможность по стандартам предыдущих версий EF? |
|
29.12.2016, 16:25 | #4 |
Участник
|
По ссылке что я привел выше - "Server-driven paging - The maximum page size that is served is 1,000.". Вроде еще тикет на connect есть где народ жалуется )
Цитата:
собственно отсюда и вопрос
смотри, данные из data entity публикуются автоматом https://ax.help.dynamics.com/en/wiki...-7/#addressing Цитата:
если опустить вопросы авторизации,
то можно ли предположить, что в аксаптовские data entity заранее заложена возможность работать с аксаптой из отдельно написанных маленьких приложений, которые используют Entity Framework? другими словами, аксаптовские формы и MorphX стал бы не нужен. Представь если в AX данный можно изменить только через Data Entity. Клево, а? Написал логику 1 раз и пользуешь ее везде - начальные данные, миграция, стороние вендоры-интеграции, формочки, отчеты. Цитата:
можно ли предположить, что реализована возможность по стандартам предыдущих версий EF?
Повторю еще раз, EF и oData это не одно и тоже. С одной и той же версией EF можно сделать разные oData с разным поведением.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
29.12.2016, 17:53 | #5 |
Участник
|
Цитата:
И никаких проблем с RecID, никаких идиотских структур типа DirParty. Вместо понятия Relations - понятие Принадлежит. Ляпота. Программистская. Чего ж реализация то такая странная? Цитата:
И как раз предлагаю обсудить - а почему собственно? Какие могут быть рациональные причины для изобретения собственного велосипеда в Аксапте? Понятно, что "как всегда"... Но вдруг таки можно найти рациональное зерно? |
|
29.12.2016, 19:11 | #6 |
Участник
|
"Пинадлежит" концептуально одно из видов Relations. Просто в аксапте Relations не дотупны их запросов. Нельзя написать.
X++: select PurchaseOrder where exists(PurchaseOrder.markup.Code == 'x') && exists(PurchaseOrder.lines.markup.code == 'x'); |
|
29.12.2016, 19:15 | #7 |
Участник
|
Цитата:
|
|
29.12.2016, 17:58 | #8 |
Участник
|
Цитата:
это артефакт odata. http://www.odata.org/getting-started/basic-tutorial/ обрати внимание на тег "@odata.nextLink" насколько я понимаю, по стандарту oData ответ дается порциями. в ответе будет ссылка на следующую порцию, если она есть. и размер страницы - это размер порции. разве не так? |
|
30.12.2016, 01:47 | #9 |
Участник
|
Цитата:
Сообщение от mazzy
Не-не-не-не.
это артефакт odata. http://www.odata.org/getting-started/basic-tutorial/ обрати внимание на тег "@odata.nextLink" насколько я понимаю, по стандарту oData ответ дается порциями. в ответе будет ссылка на следующую порцию, если она есть. и размер страницы - это размер порции. разве не так? oData + webAPI + EF - Более гибкая по сравнению с AX Data Entity. Вообще говоря EF для oData не требуется, его используют из-за удобства. Вот пример - WebAPI oData без EF (English) Таким же методом данные из ax 2012 выставляются наружу через oData.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
29.12.2016, 18:50 | #10 |
Участник
|
Вот только контролы на формочках сейчас не могут редактировать энтити, насколько я знаю.
|
|
29.12.2016, 18:43 | #11 |
Участник
|
Цитата:
То есть сам EF ничего про ODATA не знает. |
|
29.12.2016, 19:31 | #12 |
Участник
|
вот ведь обломал... а у меня такая теория складывалась.
спасибо. да, внимательно посмотрел. да, EF работает с connection string и в конечном итоге использует класс-провайдер, который должен быть специально создан для EF. да, есть как сторонние решения, так и провайдер oData для SQL да, ты прав EF не заточен под oData изначально. и не содержит провайдера oData в поставке по умолчанию. надо подумать. спасибо. ======================= внезапно! среди провайдеров oData обнаружились:
надо подумать. |
|
30.12.2016, 01:59 | #13 |
Участник
|
Насколько я понимаю в MS есть светлая мечта запихнуть данные в CDM и использовать PowerApp для доступа-изменений.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
30.12.2016, 09:02 | #14 |
Участник
|
Цитата:
но откуда ноги растут и как почему выбрана именно такая реализация? понятно, что вряд ли мы узнаем точно. но ведь можно попытаться воссоздать ход рассуждений, аргументы. |
|
|
|