Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Нәтижемен қосымша бағандарды қайтару үшін нысанға немесе сілтеме нысанына қатысты кестені біріктіреді. Сондай-ақ, байланысты кестелердегі баған мәндеріне шарттарды қолдануүшін сүзгі элементтерімен бірге қолданылады.
FetchXml көмегімен кестелерді біріктіру жолын үйреніңіз.
Мысалдар
Төмендегі мысалдар әр түрлі қарым-қатынас түрлерімен қолдануды link-entity көрсетеді.
Көп-біріне қарым-қатынас
Бұл сұрау тіркелгі жазбасындағы PrimaryContactId іздеу бағанына негізделген тіркелгі мен контакт кестелеріндегі деректерді қайтарады:
<fetch>
<entity name='account'>
<attribute name='name' />
<link-entity name='contact'
from='contactid'
to='primarycontactid'
link-type='inner'
alias='contact'>
<attribute name='fullname' />
</link-entity>
</entity>
</fetch>
Бір-бірінен қарым-қатынас
Бұл сұрау контакт account_primary_contact бір-көпке қатынасына негізделген контактілер мен тіркелгі кестелеріндегі деректерді қайтарады.
<fetch>
<entity name='contact'>
<attribute name='fullname' />
<link-entity name='account'
from='primarycontactid'
to='contactid'
alias='account'>
<attribute name='name' />
</link-entity>
</entity>
</fetch>
Көп-көпке қарым-қатынас
Бұл сұрау teammembership_association көптен көпке қатынасын пайдаланып SystemUser және Team кестелеріндегі деректерді қайтарады.
<fetch>
<entity name='systemuser'>
<attribute name='fullname' />
<link-entity name='teammembership'
from='systemuserid'
to='systemuserid' >
<link-entity name='team'
from='teamid'
to='teamid'
link-type='inner'
alias='team'>
<attribute name='name' />
</link-entity>
</link-entity>
</entity>
</fetch>
Сипаттамалар
| Аты | Міндетті ме? | Сипаттамасы |
|---|---|---|
name |
Иә | Байланысты кестенің логикалық атауы. |
to |
No | Атрибутта көрсетілген from байланысты кесте бағанына сәйкес келетін тектік элементтегі бағанның логикалық атауы.
Техникалық тұрғыдан қажет болмаса да, бұл атрибут әдетте қолданылады. |
from |
No | Атрибутта көрсетілген to бағанға сәйкес келетін байланысты кестеден бағанның логикалық атауы.
Техникалық тұрғыдан қажет болмаса да, бұл атрибут әдетте қолданылады. |
alias |
No | Зат есімнің атауын білдіреді. Бүркеншік атты орнатпасаңыз, барлық бағандардың бірегей атаулары бар екеніне көз жеткізу үшін бүркеншік атқа ие боласыз, бірақ бұл бүркеншік атты XML-дің басқа бөліктеріндегі сілтеме нысанына сілтеме жасау үшін пайдалана алмайсыз. Автоматты түрде жасалған бүркеншік аттар үлгіні {LogicalName}+{N}пайдаланады, мұнда N 1-ден басталатын XML-дегі сілтеме нысанының тізбекті нөмірі. |
link-type |
No | Байланыс құралын пайдалану түрі. Әдепкі мінез-құлық ішкі болып табылады. Сілтеме түрі параметрлері туралы қосымша ақпарат |
intersect |
No | Кестелерді link-entity біріктіру үшін пайдаланылатынын және әдетте көпке қатынас үшін бағандарды қайтармайтынын көрсетеді. Бұл қасиеттің болуы сұраудың орындалуын өзгертпейді. Кестеге қосылған кезде осы атрибутты қосуға link-entity болады, бірақ бұл әдейі жасалғанын көрсету үшін атрибут элементтерін қоспаңыз. |
Пайдалану from және to атрибуттар
Екеуінің де құндылықтарын fromto және құндылықтарын орнатқан дұрыс. Бұл атрибуттардың екеуі де әдетте сәйкес келетін бағандарды анықтау үшін қолданылады. Алайда from , техникалық тұрғыдан және to техникалық тұрғыдан қажет емес.
Ескертпе
Бұл ретте Құран мен
toСүннетте көрсетілген бағаналардыңfromбірдей болуы маңызды. Әр түрлі баған түрлерін пайдалануға қолдау көрсетілмейді. Бағандар бірдей типті болмаса, Dataverse инфрақұрылымы түрлендіруді мәжбүрлеуі мүмкін, бірақ бұл тәжірибе өнімділіктің айтарлықтай айыппұлына әкелуі мүмкін.FetchXml бағдарламасындағы және атрибуттарының мәні
fromQueryExpression арқылы сұрауларды құрастыру кезінде пайдаланылатын тиісті LinkEntity.LinkFromAttributeName және LinkEntity.LinkEntity.ToAttributeName қасиеттеріне қарама-қайшы.to
Егер осы атрибуттардың ешқайсысын пайдаланбасаңыз және екі кесте арасында көптен көпке жүйелік қатынас болса, Dataverse осы қатынасты пайдаланып тиісті кілт мәндерін таңдайды.
Егер атрибуттардың from біреуін to ғана көрсетсеңіз, Dataverse екі кесте арасындағы қатынас схемасының анықтамаларын пайдаланып дұрыс қатынасты анықтауға тырысады.
Әйтпесе, сіз келесі қатені аласыз:
Раа
0x80041102
РааNo system many-to-many relationship exists between <table A> and <table B>. If attempting to link through a custom many-to-many relationship ensure that you provide the from and to attributes.
Мысалы, осы сұраулар екеуі де systemuser және team кестелері арасындағы teammembership_association көпке қатынасты пайдаланады. Бұл жағдайда, Dataverse және to атрибуттарын анықтай from алады және link-entity қиылысу кестесін көрсететін қажет емес.
Барлық атрибуттарды келтіру
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity
name="teammembership"
from="systemuserid"
to="systemuserid"
intersect="true"
>
<link-entity
name="team"
from="teamid"
to="teamid"
link-type="inner"
alias="team"
>
<attribute name="name" />
</link-entity>
</link-entity>
</entity>
</fetch>
Dataverse таңдауына рұқсат етіңіз
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>
Сілтеме түрі параметрлері
Қайтарылған жазбаларға сүзгілерді қолдану үшін пайдаланыңыз link-type . Келесі кестеде жарамды link-type мәндер сипатталады:
| Аты | Сипаттамасы |
|---|---|
inner |
Әдепкі. Нәтижелерді екі кестеде де сәйкес мәндері бар жолдармен шектейді. |
outer |
Сәйкес келмейтін ата-аналық элементтің нәтижелерін қамтиды. |
any |
Мұны сүзгі элементінде пайдаланыңыз. Нәтижелерді байланыстырылған нысандағы кез келген сәйкес жолдары бар тектік жолдармен шектейді.
Байланысты кестелердегі мәндерді сүзу үшін пайдалануды any үйреніңіз |
not any |
Мұны сүзгі элементінде пайдаланыңыз. Нәтижелерді байланыстырылған нысанда сәйкес келетін жолдары жоқ тектік жолдармен шектейді.
Байланысты кестелердегі мәндерді сүзу үшін пайдалануды not any үйреніңіз |
all |
Мұны сүзгі элементінде пайдаланыңыз. Нәтижелерді сілтеме нысанында сәйкес from баған мәні бар жолдар бар, бірақ сәйкес келетін жолдардың ешқайсысы осы сілтеме нысаны үшін анықталған қосымша сүзгілерді қанағаттандырмайтын тектік жолдармен шектейді.
Әрбір сәйкес келетін сілтеме нысанының жолы кейбір қосымша критерийлерге сәйкес келетін тектік жолдарды табу үшін қосымша сүзгілерді төңкеру қажет.
Байланысты кестелердегі мәндерді сүзу үшін пайдалануды all үйреніңіз |
not all |
Мұны сүзгі элементінде пайдаланыңыз. Нәтижелерді байланыстырылған нысандағы кез келген сәйкес жолдары бар тектік жолдармен шектейді. Бұл any түрі аты-жөніне қарамастан тең.
Байланысты кестелердегі мәндерді сүзу үшін пайдалануды not all үйреніңіз |
exists |
Бұл әдістің inner бір түрі өнімділіктің пайдасын тигізуі мүмкін. Сөйлемдегі whereEXISTS шартын қолданыңыз. Нәтижелерде ата-аналық жолдың бірнеше көшірмесі қажет болмаған кезде мұны пайдаланыңыз.
Бар және іштегі туралы көбірек біліңіз |
in |
Бұл әдістің inner бір түрі өнімділіктің пайдасын тигізуі мүмкін. Сөйлемдегі whereIN шартын қолданыңыз. Нәтижелерде ата-аналық жолдың бірнеше көшірмесі қажет болмаған кезде мұны пайдаланыңыз.
Бар және іштегі туралы көбірек біліңіз |
matchfirstrowusingcrossapply |
Бұл әдістің inner бір түрі өнімділіктің пайдасын тигізуі мүмкін. Байланыстырылған нысаннан сәйкестендірілген жолдың бір ғана мысалы жеткілікті болған кезде және нәтижелердегі тектік жолдың бірнеше көшірмесі қажет болмаған жағдайда бұл типті пайдаланыңыз.
Matchfirstrowusingcrossapply туралы қосымша ақпарат алыңыз |
Тектік элементтер
| Аты | Сипаттамасы |
|---|---|
| РаT� | Алу элементі үшін еншілес элементті, сұрау үшін 'аталық нысан' параметрін көрсетеді. Тек бір ұйымға ғана рұқсат етіледі. |
| Сілтеме объектісі | Нәтижемен қосымша бағандарды қайтару үшін нысанға немесе сілтеме нысанына қатысты кестені біріктіреді. |
Еншілес элементтер
| Аты | Оқиғалар | Сипаттамасы |
|---|---|---|
| Барлық атрибуттар | 0 немесе 1 | Әр жол үшін барлық нөлдік емес баған мәндері қайтарылғанын көрсетеді. Бұл ешқандай атрибуттық элементтерді қоспаумен бірдей. Біз бұл элементті көп жағдайда қолдануға кеңес бермейміз. |
| РаT� | 0 немесе көп | Сұраумен қайтару үшін нысаннан немесе сілтеме нысанынан бағанды көрсетеді. |
| тапсырыс | 0 немесе көп | Нәтижелердің жолдары үшін сұрыптау ретін анықтайды. |
| Сілтеме объектісі | 0 немесе көп | Нәтижемен қосымша бағандарды қайтару үшін нысанға немесе сілтеме нысанына қатысты кестені біріктіреді. |
| сүзгі | 0 немесе 1 | Сұрауға қолдану үшін нысан немесе сілтеме нысаны үшін күрделі шарттарды көрсетіңіз. |