Skip to content

Instantly share code, notes, and snippets.

@Antaris
Created February 13, 2019 14:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Antaris/cd45dc060e228762bd2a7fd436ecab48 to your computer and use it in GitHub Desktop.
Save Antaris/cd45dc060e228762bd2a7fd436ecab48 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>OMD</title>
<style>
body { padding: 0; font-family: "Segoe UI", Helvetica, Arial, sans-serif }
header { margin-bottom: 20px; display: flex; align-items: center; }
header > .brand { flex-basis: 50%; }
header > .search { flex-basis: 50%; }
header > .search .input { width: 100%; font-size: 14px; display: flex; border: 1px solid grey; border-radius: 4px; padding: 4px 0; }
header > .search .input .icon {
flex-basis: 24px;
background-size: 20px;
background-position: 0 2px;
background-repeat: no-repeat;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAAilBMVEX///8zMzMpKSksLCwwMDAnJycYGBgjIyMdHR0gICAWFhYkJCT6+vobGxsUFBT29vbk5OS2traQkJBEREQ+Pj5oaGjq6upQUFBjY2OgoKCXl5eqqqrBwcHIyMiHh4fAwMB+fn5NTU3c3NzT09N1dXUKCgpaWlo5OTlubm6Li4tBQUGlpaWcnJywsLCytRxhAAAIZklEQVR4nO2d6ZqqMAyGBcoORVxHZ9y3WfT+b+/omcWGbRCblvHJ+9uH9rNtkrYhdDoEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQTw80WizOE16vbf5W2/6nM66ie4eyWRzmo9Z4PluaJtnbDv0PccfDI8vI91dk8BmOuaxazJmZGGW7XNrm/5plZulFdt5bUCmH48nXd0dbUa3x2KzUt63ypCP00h3d29mtneqRw+K9MPe35qti75TX94ndrD9O5P15d27Vd8Fk2//xjiu9zeP349Gp6e7978TLXdWQ30XQvtFt4JfmB3sO/SdYcFrq6Od+a7pBL1i2jPdMkrpDsKq0bFMO3Rd370Eb1V/BONz3UpKSEstDDP9mA+G8+nzKU1P5wB8ube5F1plv3dXrTSqb0Fxdy3fW83TdTZoGc0mQ8MJi0Va/kaLhkpe/eKuBttF+YCsJ++8cMYyvlDY9zpEqyIbajr7XwPO9RvzizTunpV0vC5J3yzQt1vWi8PSQ1ygMZgid/oWEiPv5c14Xt+xLfoFcV7QngAn6ucEsltjzNTKexrniNThm8lPUfd9ffNTejw3jLwla/Epa2QYb7SE1u+5YeStCG+WWTdhHpo6sznPrcUW7BlPTqZT3rD5icQia3DYQfvxxjr7tzebod90WcZoma+yetqQyMj86Ty974HJOGO2Ys3WZpuxMhJMwz7zSEfrUlxw6QJzEllfwjObkmT2P4Ec476HE9WfSHlqI7awK9L2AwNobri23eJmBzriSQuVR3BHZT3JevCtrEA/ZNr1zH8nafbfTOoBgyDVNx/hswcSH30DBzCE/PZYu4o9WIrenV62GScQj8o2eAl4OjvIfXo9BuIQyndapxgMooZjmwVYKZLn6AUwT3W4/bE4hOZSfgMwpg+UHy+uwabJx7hrWIrxhLVFaKGSudi8jXJmNAJ/oqf4wiYCq3CH0zoYRFfxLupFVGgi3aR0xZXIVjiNlLEVDR3aDu5JbCVQGn9H4hYOLzAGM0XtNJ2J7tjH88Ziwoo1RGumgDfRBjiK2vFVHrv1hf/WRPRUG9FhxAqdfiJu3xAnaacjHuWFCk8zZqIFQIlnvhHPSVRu9Y/CBQOun0qFTRSzMFuCvAp+ykS95euKyQGeOo/4LqwOHzeJSXRLnrLjGrD/Rr4dEsMadT4fTB0ft62eYGrMN9y2roimlI1x20pdwZgqu4cSDRx2q+Df3OO2deVDcBbYM6crRDXqjk17ws4CO9AYiWvexm3riniC4Z5w20qEdWhw3LauAIXIp9GReKTHVZ3VLBUqBHcHyrb5S4WzFMRPyi68Va5DPWMo7ryxIymQ7KHsMngqeAsbOUcyEc8xlFka4PGRs84T8RwjwG3risqoDcQ0DLetKyBWRD6KVhnlXwH3TiFuWycte4tEPIhCtm9zLftD4KOQjxbEjBZ033tlLzRr4yZjiyeznrojYXH7hLst3YCTKHVnbaK7MEzM64SJeDJrIDaUAVxdxpgLUVwPSq/yxaR6nEv8TxJtF4jioTdmpAGWQyA/Z6dmyw6eiROzhlQuw05nJJo4jHShr2a4kmYKAamlLtamRtymKby1+I9oxfFMAKiI4iE1UgKYP1gXeyC/U/EkhY4KK8EVpOg6qjOhgTXFOW4HWdbqE6EjkMPrYUT94IUjlWkKX4BUF4xcl6l4no+VHFgFsDWGvZT9/C7IglZuZy7AF2a47MAGJutreb0LbDCkvwr5ARJYMfOuKoCDaEvtBEyyNnZ63nwagb/ZCCTa0wjWd7N1FTvpwXevHXm7myGYHizUVpTHBf80s2XNpTf4erin70XZBVwtVl+OtXmGdWAsZUfdBcDZZJhSjvhP2Vdvdb4InGQKr5jj+0fxOSNQQ7wmkn3V2bx7on5kX/D3NVdUWrqwP5Zx35yaZ0s0nGMJzeXNVpkiCMy9YyMXPRXUYrI0S0yydZ7YrvEB6toqKFWkX2KuMobhj5stnWNZOTTdEhe7XI+cBj66Oy6sFvb5wIFeiR/5Sm3e+MYQLurFVRUldY/iMTdRL4WibjGqz2ZVQcKLxHe9Eqc5G38p1lZXY/RsFJZsgxI1T9RJbi1eNPLXGp5jNLV+13eR2NcrMRtMfvXKs6aVCzJJ97xuRWXdE3WWL0Z2gdnBYF5cez3aTPZereH7GUW9RaO6h0J3/b+2J/eHvUst/eTSxSgZbRYfy8EuLql82VqJ0ZNX0Tnb9xzHNA4Hg/k89sNaxcyz3B/Y38kk+K3bjBVU2M9gV8xc7RLX725p52rC+HQ0KHf+2iV2pncVuz7HtP2z7U2qJK50S1zvi4qR1sT0PjOskkObJXYWNSKUQqzd8tuttHsUz+6/iUYY5VVL1Cfth3Tg3LQemZ0tyVspUef54g+z17JS1nksj/VyEVny3naJndFkUOMrHsz04m3hm7Z/QOLZsB73gVeukllhYCxL9x9Jvj7xVaKydxF/JZlNx6Hj26ZYY5Exy3Q9j71+VO48oqIi2m0bxf9E6/S4fOrbnAeBE3Aes9Vwfpr9fl5VWCf8C7s9o3glGo263dHoBndWNYqtlHg7JPERqJSore6nVKJVucSQJP4RSOIjEGULmYsSlRYBw6NiFN3HkFg1iq7u4vuSqJL4GKNYKfFBRnH/+BLH5V/m89rzZaG7yH4aQmCn8sUvRMolqq2NiUi5xLiVH9xrQKlEr+0f+KxNmcTwQ3fPpPFUnJmCXWZFJcUSVdfDRqVQosoatfgUSGSohQHUM8xJ1PZSBha5UXRa/aXkJgxhUkTrPs0qgaGYj8ofxxkKXL+RbbXsy7PSmK24a5qmHzw9yL6igPXzfP6WtuBDlwRBEARBEARBEARBEARBEARBEARBEARBNOAfIH9w0i+C3hYAAAAASUVORK5CYII=);
}
header > .search .input input {
flex-grow: 1;
border: 0;
height: 20px;
}
header > .search .input input:focus {
outline: none;
}
ul {
list-style: none;
padding-left: 20px;
margin-right: 10px;
}
.objectBox { border-style:solid; border-width:1px; margin:10px; float:left; border-radius:10px;}
.objectBox > .header { font-size:10px; padding:10px; border-radius:10px 10px 0 0;}
.objectBox > .header > .code { font-size:10px; }
.objectBox > .header.noMembers { border-radius: 10px; }
.objectBox > .header > span:not(.code) { font-size:20px; }
.code { font-family: "Consolas", "Courier New", "Courier", monospace; font-size: 14px; }
.class { background: linear-gradient(to right, rgb(211, 220, 239), white); }
.struct { background: linear-gradient(to right, rgb(211, 220, 239), white); }
.enum { background: linear-gradient(to right, rgb(221, 214, 239), white); }
.interface { background: linear-gradient(to right, rgb(231, 240, 220), white); }
.delegate { background: linear-gradient(to right, rgb(237, 218, 220), white); }
.keyword { color: blue; }
.type { color: #2C91AF; }
.members > h4 { font-size:14px; background:rgb(240, 242, 239); display:block; padding:5px; margin:0; font-weight:normal; }
.typeExisting { border-color:#ddd; }
.typeRemoved { border-color:red; border-style:dashed; border-width:3px; text-decoration: line-through;border-style:dashed; border-width:3px; }
.memberRemoved { color: red; text-decoration: line-through; }
.static { background-image: url(data:image/gif;base64,R0lGODlhDQAKAPcPAOhfF/nXxfbDqOx9Q/GbbvOvi/Klffvh0+6HUe+RYOlpJutzNPjNtvzr4v718AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAA8ALAAAAAANAAoAAAhMAB8IDJBAAYCDBxccEGgAocODAQQ+LBCAQYEBER88RCDAgcCPBB4e5PjxgYABIgEQELjwQYOTDyUOMCAgQEiHElMeLCCw4MMFBCIGBAA7); background-repeat: no-repeat; background-position: left 3px; margin-left:-35px; padding-left:35px; }
.members li { background-repeat: no-repeat; padding-left:20px; background-position: left 2px; }
.pubevent { background-image: url(data:image/gif;base64,R0lGODlhCgAMANU3APzksP7y2ebl4u+9kOvj1Pf39vDGkunm4V5HMIyCXOLd1a6XYN7YzpeDU+fQiZVvH+qwf6eUYFhTS8/Bofbv0/jz3vv6+Nva1Ih6SuilfObPienl36CLRsC5pKyXamtPKWpiSN3Mjp94HciyeIxoIumqfuXg1+mggefj3q2CIPXAbsq+n93FguXh2vn048a4kPLMlHlsRu7Cif/kf/rRdufIWeGHgv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADcALAAAAAAKAAwAAAZXwNvNFXJoWCPPRFgDzGQZm6Rwq9QCtJINJGACaBAbpnujXFU2zkV4q81msMHJhtjcFo1Ygmb7mNgWL3wkDGw3K3wPLYYEBjYiCoY3HQMpKJI3BBEHmDdBADs=); padding-left:20px; background-position: left center; }
.protevent { background-image: url(data:image/gif;base64,R0lGODlhEAAQAOZPAOGHgt28WvjYaOfIWaOALvrRdtO4f+7AL//kf8ipX49uIu3iyubl4vDr3//PMvzksO+9kP7y2a6XYN3Mjufj3umggaaFOJVvH93FgvDo1uTbxu7blvXssnlsRvv6+Pbv0/f39u7CiaCLRu7q3oyCXMiyeMuvdWtPKefQia2CIOjIXdva1OmqfvXrrufXs5eDU/by6V5HMOnl36eUYObPicq+n8a4kFhTS8Cyj+ilfOXh2oh6Ss/Bofn046yXauvj1OXTq4xrH4xoIuLd1eqwf+Xg1/71rPLMlN7Yzp94Hfjz3mpiSPXAbunm4fDGkv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAE8ALAAAAAAQABAAAAeRgE+Cg4SFhoM9Eyg0GCU+PIdPAw8IITkANyCHSgMRBSwASwyRkwVEADujhx+dTAAiK5GSCAhHEBUAMTKCCwYmCUASLx0kBQAnRbwGHAICFi4eNsZCSIMGLUZBAQ4ENcYXOoQGGwIBAQcETgBJQ4UZCQ4C6DgQKRSHGgECBCM/M02y9KGTNSiACgUNCAqCgVBhIAA7); }
.privevent { background-image: url(data:image/gif;base64,R0lGODlhEAAQAOZYAOGHgt/j6ufIWfrRdqy3y0FLWMnQ3crR3sjO2f/kf+Pm6vDy9PzksKCrwrK7zv7y2bjA0r7H1ubl4tLX4v///4h6Suqwf21/lvXAbunm4enl38a4kGpiSJCetN3Mjldqgp94Hfbv0/n044yCXHuJneLd1bvD1IxoIubPifLMlPjz3mR2jd7YzufQide4kpinvMTM2l5widva1HWFnOilfKeUZayXaqCLRumqfsTM2e7CiW+Al4eUpVhTS++9kJeDU+mggbvF1GdRPGR2jrG6zW5SLefj3sC4nuXh2t3Fgq2CIOXg13qKociyeE9jfGN1jb3G1qu3y3lsRs/BobjB0md3kE9ie5VvH////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFgALAAAAAAQABAAAAehgFiCg4SFhoMiHi0oSU02U4dYAgwJOjQAPRSHKgIPAzgAHBKRkwMWABWjhyGdGAA3MpqHAgkJKT5AAEIaggsHEEQENT9SIwMARUuDBwEEDVBMWBvHJyyDCzkvggQ7R8dXSIQKQR0GBitDLgAgJYUGAfABExFPSkaGJgEF+xMQPBmHCARAUAABAgckIjU4ACMCFQdRrERSMONClRgfnCiIFAgAOw==); }
.pubmethod { background-image: url(data:image/gif;base64,R0lGODlhEAALANU/AM9p0Ky1rvDV8Pfwq/qY++6l79XVrLtvvPLb8n4ufqhQqZ48nunlq/Lg8/qr+3wtffqZ+9Vv1ZZSl92Y3tNu1Pqb++zS7LW7rY01jpikruTK5OKv4uuR7KlSqnEkcu3Y7e6+7vqf+8zOrPTm9I5Gj5BOkevR64qZrtFt0pU4lvDj8O6d7/Pj86dPqPqu++Xiq6ZQp+jR6Hore+aY55ynrubM5uOs48HErOmQ6n8wgKlQqn4wf3wufHUndc+Iz////yH5BAEAAD8ALAAAAAAQAAsAAAZmwJ9wSET4VMTk0GjzsZREgQ/k4vgaxIEhcPr5Ng4CAecbQX+wQ6FCgMxKvwHDcAtkfi2UOrSS8M4dABEHEyQLCUIDLyIXND8aCigUOwsYD2c/MToACSkyApg/Hwo5PSahQhYeNUJBADs=); }
.protmethod { background-image: url(data:image/gif;base64,R0lGODlhEQAQALMPAKdUqPCf8e3lq+rS68+0ePXq8+3l06WvrfXGMIIxg6SBMI5tIfjYaN28Ws+Iz////yH5BAEAAA8ALAAAAAARABAAAARk8MlJ33ClankD3tQ1BF5GCcJxFA7pfiDQugEgoan6yIALJKCdY+j4AR8GgpIwsABkiSgwKWAwFALOU9okoBYNhGIyMDYfXkYjPCYnzkgCgiE2BCWGxtV+l+jFfX4NC3x9BYR9EQA7); }
.privmethod { background-image: url(data:image/gif;base64,R0lGODlhEAAQAOZoAP///9/j6s+Iz9LX4kFLWKy3y8jO2bK7zuPm6srR3vDy9PqY+8nQ3ahQqdXVrO6l77tvvPfwq34ufrjA0r7H1qCrwvLb8u6+7uOs43UndalQqqy1rWFyiejR6Onlq+vR67jB0sTM2uTK5JinvLxwvVVnf6pVq+aY5/Lg89Nu1Ky0rq1crt2Y3o5Gj5ZSl2d3kN+w31dqgtVv1fDV8I01jtWY1ebM5pikrn4wf9Fq0oqZrnWFnHwufHEkcumQ6o2brfqu++6d72R2jZ88n/v7/Pqb+5U4lstnzJ+qu3wtffTm9NJr038wgPPj89PY2/DU8OzS7JBOkXore09jfLvD1L3G1l5wie3Y7fqr+/Dj8G1/lmR2jvqZ+5w8neKv4vqf++uR7MHErKpYq5CetNFt0nqInau3y29/lP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGgALAAAAAAQABAAAAe4gGiCg4QWAlmEiYOGGAJNioRPAhdAYDUohBEOKjoAMF5YCws+AkoAkGIQD0ULXCdRABEeDmEbN2gmZKpfQS48p4orOTIkLC1dEgAKCRMHBU5oIg1LKThDNEkACQEFFQNIgh0aRxJGUjMKAyMAAFU/CoJXDUwZH2gIA2MMDEJbCINQetgQxCCAwQADKJSBhIZKAAIQB0w4w7BAAAMEDBg4wIFhhQQhKIA4YKYEQwQ7tLywEmMKEYaBAAA7); }
.pubproperty { background-image: url(data:image/gif;base64,R0lGODlhEAAQAOZ9AKKvxP/////9+0ZOVH2d3//rbqykj/b////taE1PVOjw/MHI0cHI0nBhSktPUnBhS/7//y4hAkxPUvnhcjMnFVOsQVlNV/3+/pmPeu3r5+LNeuz5/9+yMsSTFT+XKcjP2d7BYU86MNbl/9DIwtLi+Liso1t4We/0+3N1fImSp0GeMuq7MWBcXfbbaZWEU4BrV87Kwvnjf+Xk38ve/fL2/cDH0WdgUqq62s3Iv6TF/1FmQJm2k4XMheHw/6TTmuyoEffdatLq/zKMGPj7/qOXgIR1XhsQC4BxXClmHNzp/4mcadapLubu++Pt/39tW/PSWLWmgUxQU/bhg5adpNDi//q6IvrrsAoHEPj6/VA9QWVWT+3HS66YWH3BcLfK8dXq//ricvz+/qaiX/z+/45iFEtOUd7p+qytsPn7/3JcQcLJ0/LPVty9VN3Z1EtLTqCWgIyQUO3DQPTXZ7nJ5YtyUcS4ldPZ45OFc+np4uXThsiZHU1RVv/QH////wAAAAAAACH5BAEAAH0ALAAAAAAQABAAAAe+gH2Cg4SFhSV1bVBEbxh3Rzg+XYQjVk4FmGBybHRKPIQZLwhcBRNAa1tVYhUErTcGMS4IIS1PcSs/cCoEOXMGUg8aNghZHHodZDoeBF4GeQ8pDSAWfBRXEVomQgsBeEUyATANS0YsU4I7SNwCAgEBYWdpdk0DhDUB7AEXQzQKCkn1BqkJAAAAhIIIRQQUxACfgDFYTjAxQ4LKwj4NC6JBWHDGxQ8OD4jc0ONLkIso3CRYuSeKAwkOylw0RHNQIAA7); }
.protproperty { background-image: url(data:image/gif;base64,R0lGODlhEAAQAPeKAP///6KvxP/9+/jYaN28WqOALn2d39O4f//rbk1PVO7AL6ykj//taPb////PMnBhS/Dr349uIktPUsHI0XBhSsipX8HI0pmPesSTFeXTq87KwpWEU4BxXO3HS/j7/padpDKMGO7q3omSpylmHFt4Wf7//4BrV+Xk3+XThnJcQVFmQKe+pOjIXfz+/ktLTt3Z1FA9QfTXZ/bhg+/0+/fdavn7/8uvdeyoEaq62uHw/4mcaZOFc66YWN7BYWdgUsDH0a2urLnJ5dDIwv71rOzjqE86ME1RVvby6UxQUwoHEPnhcvLPVmVWT/rrsMiZHYxrH+3r5/rics3Iv+fXs1OsQdapLj+XKRsQC/q6Iunp4uLNellNV0xPUn9tW9y9VIR1Xvnjf+z5/zMnFcLJ07fK8fPSWMS4lXN1fPj6/YXMhaOXgPbbacbMxi4hAqCWgO3DQPLqsmBcXevhzerZleDayLWmgcjP2fL2/f3+/qbBrqytsN+yMv/QH45iFItyUaaFONTNuvz+/7iso+bu+6aiX+q7MUGeMpy4mYyQUKTF/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIoALAAAAAAQABAAAAjsABUJVCTIzIs6atxc2MFByqE8AxUJadIFgcUoMbz40ZEmIhQTDHggUEJjSQcshKgYWIljAZgNDIqsKfOm0A1EhgwkCrJAxgMtPhjA2OMEQx8VVgyQWYDigQgKPbbwEZOkDRMSICYAyPLlBAANFKpcifNB4IoRWgUIAACghZ4UgA7YqJBB4A8AagHg8XCHzgE4Awb8maJoDIAAAUogDnCAyJAnBBwUUGQBr4BAaGYMOjBnAAECCiZXRlxjMZAKDgaElqPIjuUGsMPkYENgQIEQAs+4SMDbCBIJXCTUDh2x+EACLCJAMG78iPKBAQEAOw==); }
.privproperty { background-image: url(data:image/gif;base64,R0lGODlhEAAQAPeYAP///6KvxP/9+9/j6n2d36y3y//rbkFLWMjO2fb//6ykj//taE1PVMnQ3crR3rjA0uPm6r7H1rK7zsHI0nBhS3BhSqCrwtLX4sHI0YBxXPj7/uDl63WFnGR2jW1/lsLJ0+np4sSTFTMnFd3Z1OyoEZOFc9bY2JWEU+/0++3HS6u3y/TXZ66YWO3DQPj6/d7BYXqKoU9ie9y9VIBrV1FmQOjw/IXMhWVWTwoHEPLPVhsQC/nhcvrrsPnjf45iFImcaXN1fGBcXbvF1Liso//QH/bhg6TF/1OsQUtLTqq62vz+/zKMGOq7MZmPerfK8ffdasTM2r3G1vPSWPrick9jfLjB0sTM2fbbaUxQU1VogZinvG+Al11vh9jd5sjP2ZCetN+yMmd3kM3Iv39tW8iZHT+XKbnJ5Vt4WaaiX3JcQU1RVomSp1A9QZadpMS4leXk31dqgn1/goyQUEGeMqCWgGdgUotyUWN1jfz+/qOXgOLm7Pq6Ii4hAtapLk86MPL2/eXThqbBrs7KwuLNeqytsFlNV2R2jvn7//3+/py4me76/+Xr8+bu+8DH0ae+pClmHP7//7G6zYR1Xl5widDIwrvD1O3r57Wmgf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJgALAAAAAAQABAAAAj7ADEJxDTEzYhLeeg0KZFBTKJAAzFR4jHGgMUpK2TY+WEjoqUZC1gY2PEkR4o9aI4QWJlEQY8TC/xckdKCCQk5cwgYMaOgCIVBdRawAUMmhA8aZQg4UQCIwpoKLwoREYGDz40zSzAAACHpDQBBFfroCNJGoKNHWgUIAAAAD6E0ehw8iFRAYCMAagEg0vCnhoMBBSxEgYHpA4AAASAhDrDBihYTAApswTQBrwAlLlAwWiTkS4MGHQxRPhzgEOIuDQaoHnAhwh0vlhPIVlRpwIHbFx5wAYKEgW81WOIUGIDgAAIEErJEjGjBAZQIVSSoiLF8IAQOHsJMgkMFQkAAOw==); }
.pubfield { background-image: url(data:image/gif;base64,R0lGODlhEAAQANUsAAAzmVub2JnN/7LY+1qa15W+5nmw47XE4efx+6HQ/pHD8d7t+oq97oK36sXb8X2y5ShXr77L5Ut0vB5OqdPn+q/W/Hmw5NLm+dLm+I7C87rX8f///8LZ8NXo+4vA9M3j+b/Y7zVjtZ/Q/p3J8pDE9qPR/niv43yz553P/lyb2Hy06ay93v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACwALAAAAAAQABAAAAZUQJZwSCwaj0gi5oFIDj8mhmHhpFhIgozhguxoPAJBYiRBnhQogWgwASALjUFpAAG4j4WAqhKyAzZHKQEBfgARSCAEhHYHThwEjE5CDgArkpeYmURBADs=); }
.protfield { background-image: url(data:image/gif;base64,R0lGODlhEAAQAOZIAAAzmf////jYaN28WqOALlub2JnN/+7AL9O4f7LY+1qa1+fXs/Tu4MipX7XE4Y9uIvDr33mw453J8vDo1ny06fH2/I7C83iv432y5TVjtf71rOXVtB5OqYq97vXrrovA9Pby6eTw+4O04rfP5v/aZClasO7q3oxrH3mw5KPR/uDu/JDE9v/PMvXssp3G7ev0/KHQ/ujIXcuvdcLZ8J/Q/u7blubMgoW04uby/IK36uTx/MXb8ZHD8b7L5ay93ihXr3uy5Z3P/lyb2K/W/OvhzeTbxqaFONLm+f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEgALAAAAAAQABAAAAeXgEiCg4RIAYWIgwEhGBWHiYIBKhcdES+PiAE6KCsGFhFHkDhAHwYGMBIlkC48QQY0CRwAkQG1hyI5CSkJPwCzAQwIMg0LATcFFEMZvrPBLQICRgtCBQXMAD1IGx4aJwMsBCMK1r4Oggg1AgMDBwRIMwrlgxMNJALtRII7AD6FRQMCCJiARMjGPXcEBQ2I8QBCQkEgGiYMBAA7); }
.privfield { background-image: url(data:image/gif;base64,R0lGODlhEAAQAOZRAAAzmd/j6lub2Ky3y0FLWJnN/+Pm6rLY+8jO2crR3snQ3Vqa177H1rjA0rK7zrXE4fDy9HSq3qCrwtLX4nmw473G1sTM2ZCetGd3kFdqgp3P/m1/lp3J8pDE9tLm+LfP5ny06bjB0q/W/IvA9J/Q/rvF1B5OqXyz59Lm+dXo+77L5cXb8SlasJinvKu3y83j+X2y5aPR/rG6zV5wiZHD8XqKoVyb2IKRpDVjtXiv4yhXr7vD1MTM2tPn+vv7/N7t+nWFnGR2jU9ie2p7kay93sLZ8G+Al47C86HQ/niGm2R2joK36oq97qPJ7E9jfHuy5efx+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFEALAAAAAAQABAAAAebgFGCg4SFhoYeMFCHhS85TBQ/jII9TR0FRxQojClPIwUFSBwsjCc0GgUkByYAjBFLBzEHOgCtURAJDTIDEBECICI4tbYJAQMSFTU2AgLDACqCFi2CA0YfC821D4IGJRcKCkFKBkUL2oMKAeoBEww3USsARIQ7AQT3Ew1JjAMBCAQIEDgYwkhCAh4MQjhwIYSRDyAbMMzI4MTAoUAAOw==); }
.pubdelegate { background-image: url(data:image/gif;base64,R0lGODlhEAAQAPebAP///9tw3PqY+6M+pOfq7dJl07fB0owtjUFVb83T2qu2y6Ctw/T1+E9je7nD05k2murlq9fWrJs4nPr6/LKgy0ped6I+o8HFrJ2pwtht2a24zJqnv1hrg0hbdY2ctsfO3EBSbLjB0qOvxqqzraexx+jq8f39/mx9lNZt0vLz9uPn7cW02jxRa8nP3VRmf5mlruqL65ejreLl7N/j6ubo7+Dj68HJ2M7PrPX2+Pqt+rO6rdvf5/qm+8LI0ZeMs+js8bS90MDI15ekvbG7zktfecmm1uTn7vn6+5ShuurmrF9xiK23zGByipilvp2pu73G1sDI2JOguTtPaThOaNne55OhurO90JWjtdne5jhNZ0RYcpyowK+5zZaStpumtK21rfqx+vHy9tNn1PDy9aayx7yq0ZKfudLY4rvE1f7+/qezyPb3+Zqmru3u8/f4+ubiq/v7/JCesJajvHiJn87U4dG84uuQ7Npu28HJ16GtxMjP3FpthbC7zbG8z+vu877H1tHW4nqKoOXX7mZ3kFVngLbA0urs8aA8oaq1xN3D6Y6dtqlFqrjC09jXrKm0yevt8qWwx5Shs8PGrHKDmtbc5rzF1ejZ8HCAl+Tn69vg6EVZc////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJsALAAAAAAQABAAAAjuADcJHEjAyhISBAYqJIjIyZVAl3osVPgkzg4ARpoomTjQQCQcAABU4bAQExQ0hfpocARpAYYNcsx4SLDJRkgAaY6kMCQoQCI9QUK42FTp5gQGfiwFyBGgjoMhDTYZAPDmhg42NAKA4SEgwAoFRDYBAWDCzZgSM1DYEcB2EZkOm7gkaSTpywssBQLAEDBgQB4tmxTAYdBGRaYzYu4E6HtoC4JNatZAiHBhRIwiBTIMkHBACIhNIsL8qEGJzoc/ZQpYONAlipRNCx7JoAKoBR5GfCg88IFEUZZNCeZMOjGIyR5CDSpoQsBiiheO0DcFBAA7); }
.protdelegate { background-image: url(data:image/gif;base64,R0lGODlhEAAQAPeQAP///9tw3N28WvjYaKM+pKOALvqY+9O4f+fq7dJl0+7AL6Ctw4wtjc3T2v/PMk9je8ipX49uIkFVb5s4nJ2pwtpu2+3kqZqnv5Shs7Kgy2ByirjB0qWwx5qmrqayx6u2y6q1xMHJ2L7H1oxrH/Xsslhrg+3iyuXX7uTn6/7+/ubo75yowEBSbFVngPqt+sLI0ZeMs253gPT1+KGtxJShusHJ13CAl5ajvJ2pu3qKoFpthd3D6aaFOJk2msmm1paStpKfuaGhnUped7vE1Y6dtrG8z0VZc8++k19xiOjZ8PLz9o2ctrbA0sDI18DI2Pr6/KA8oeqL68vMyeTn7khbddne5tvf55ejrTtPabO90Ovu85Ohuvn6+9G84ktfed/PrqlFqpekvcW02vDr3/X2+MnP3bC7zd/j6qm0ybGulb3G1sfO3NZt0pCesKI+o/qx+v71rLjC0zhNZ1Rmf9ht2ers8bG7zsS/sK23zKexx7yq0ebVkc7U4TxRa9LY4ujIXThOaMuvdZWjtZilvsjP3LzF1euQ7ERYcvqm+7nD0/Do1tNn1K24zJOguZumtLfB0v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJAALAAAAAAQABAAAAjuACEJHIggC548CAYqJAgCh6AcNl4sVKimjRVIUwYhmTjwEQYykABsKbEQhZMhTIowQsNhAYULN4AsaQApBICbKbgoqXMiwA5CTTbMgVToJoAnMrQkCeAiQJdEdh5AunMgEIQjHVQEeIPIQAAxH7yYOEBiwAAeX86wMWSgLRgPVA5YgDNCgIMCVRIEiGKAAIEZhw7sGSBAgIICfhZVCOAXygoJiiA4GHA4zRUfCegQmMAgDAtIQQQMKCCFzxoRehK4YfCjERZIC0QfLlMjjpkMPWDQICIHUgMBfyLE0KCjxQMhRiT0AeRoYIQxHBUGBAA7); }
.privdelegate { background-image: url(data:image/gif;base64,R0lGODlhEAAQAPeWAP///9tw3PqY+6M+pEFLWOHl7OPm6qy3y77H1sjO2efq7dJl09/j6srR3rjA0tLX4owtjbG6zU9je73G1rK7zqCrwkFVb7jB0jhNZ6A8odpu20hbdbfB0qayx6exx9ht2cnQ3dvf56lFquvu8+rs8ZCesEped/Lz9pinvLvD1PT1+KWwx09jfKGtxKq1xLvE1Y6dtnqKoebo76Ctw8TM2am0yVRmf7Kgy8TM2ps4nLnD0/7+/md3kPqm+2+Al9Zt0kRYcr7H05eMs/Dy9EBSbJShupk2mpaStsHJ2Pqx+ktfecDI2E9ie2R2jvr6/Ovr1a24zEVZc6u3y7bA0ldqgrvF1GN1jWR2jTtPad7i6ZShs7C7zZOgudNn1JWjtZCetMjP3NG84uXX7sLI0byq0euQ7HqKoLzF1fqt+s7U3vn6+8DI17O90N3D6eTn61VngF9xiJumtLG8z+Di1cmm1lVogeTn7pOhurjC05yowDxRa9PZ3PX2+K23zFhrg42ctpekvau2y6I+o3WFnJKfuV5wiThOaM3T2rG7zl1vh5ilvujZ8LS9zG1/lsW02uqL65qnv+Pn7ZajvJ2pwnCAl52pu////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJYALAAAAAAQABAAAAjyAC0JHKiATR8PCgYqJOiikhczlMYsVDihRAgAdhTBmTiQgxY+AADc8bPQzZIXU+RAqbFixiRIkgj9OWQJSUgAO9ScICEmQBsway7YsHTmphMVIxYFQBMgjA5EEixlaeAgwoE9MgIk6SEggKNASiw1YHCgAqMYDH6UEcBWRIcNQ2igeDJngo80CwI8EjBgQAsgBqp8qXqlSZAuGgL0zZDHAohIBSI/QGCFzoIPA3JAAEQkRQECoB84SISAzAJBEI5wwXKAQQICCRJQqINnyw0jQorAwFChAQ4EFyhIYfJGgokoFvQYimNgUCMehaiwMMDRUkAAOw==); }
.expander {font-size: 18px; background-color: black; color:white; clear:both; cursor: pointer;padding: 10px;border: none;text-align: left;outline: none;margin:0 0 2px 0;transition: 0.4s;}
.expander:hover {background-color: #555;}
.expander:after {content: '\002B';color: #FFF;font-weight: bold;float: right;margin-left: 5px;}
.active:after {content: "\2212";}
.collapse {display: none;}
</style>
</head>
<body>
<header>
<div class="brand">
Generated with <a href="https://github.com/dotMorten/DotNetOMDGenerator">.NET Object Model Diagram Generator</a>
</div>
<div class="search">
<div class="input">
<div class="icon"></div>
<input type="text" placeholder="Search" id="search" />
</div>
</div>
</header>
<div class="namespaces">
<section id='Fx'>
<h3 class='expander active'>Fx</h3><div>
<div class='objectBox' id='Fx.ApiServiceCollectionExtensions'>
<div class='header class'>
<span >ApiServiceCollectionExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>AddApiHandlers&lt;<span class='type'>TEntity</span>, <span class='type'>TQueryByIdHandler</span>, <span class='type'>TQueryManyHandler</span>, <span class='type'>TCreateRequest</span>, <span class='type'>TCreateHandler</span>, <span class='type'>TUpdateRequest</span>, <span class='type'>TUpdateHandler</span>, <span class='type'>TDeleteHandler</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddReaderApiHandlers&lt;<span class='type'>TEntity</span>, <span class='type'>TQueryByIdHandler</span>, <span class='type'>TQueryManyHandler</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddValidator&lt;<span class='type'>TRequest</span>, <span class='type'>TValidator</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddWriterApiHandlers&lt;<span class='type'>TEntity</span>, <span class='type'>TCreateRequest</span>, <span class='type'>TCreateHandler</span>, <span class='type'>TUpdateRequest</span>, <span class='type'>TUpdateHandler</span>, <span class='type'>TDeleteHandler</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ApplicationOptions'>
<div class='header class'>
<span >ApplicationOptions</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ApplicationOptions()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApplicationId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>InstanceId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>TestMode { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ApplicationWorkContextFeature'>
<div class='header class'>
<span >ApplicationWorkContextFeature</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IApplicationWorkContextFeature'>IApplicationWorkContextFeature</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ApplicationWorkContextFeature(<span class='keyword'>string</span> applicationId)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApplicationId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CandidateAssemblyProvider'>
<div class='header class'>
<span >CandidateAssemblyProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IAssemblyProvider'>IAssemblyProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CandidateAssemblyProvider(<span class='keyword'>string</span> entryPointAssemblyName, <span class='type'>String</span>[] referenceAssemblies)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Assemblies { <span class='keyword'>get</span>; } : <span class='type'>IEnumerable</span>&lt;<span class='type'>Assembly</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetCandidateAssemblies(<span class='type'>Assembly</span> entryAssembly) : <span class='type'>IEnumerable</span>&lt;<span class='type'>Assembly</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Clock'>
<div class='header class'>
<span >Clock</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Clock()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>UtcNow { <span class='keyword'>get</span>; } : <span class='type'>DateTimeOffset</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Fixed(<span class='type'>DateTimeOffset</span> fixedDateTimeOffset) : <span class='type'>IDisposable</span></li>
<li class='pubmethod code'><span class='static'></span>GetNormalisedDateTimeOffset() : <span class='type'>DateTimeOffset</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CommonTypeExtensions'>
<div class='header class'>
<span >CommonTypeExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>ToFriendlyName(<span class='type'>Type</span> type) : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CoreConstants'>
<div class='header class'>
<span >CoreConstants</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>ApplicationConfigurationKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>BranchConfigurationFileName : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ClaimIssuer : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ConventionClaimType : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>DataPermissionClaimType : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>FallbackConfigurationKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>FeaturesConfigurationFileName : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>FlagsConfigurationFileName : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>GeneralConfigurationFilename : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>GravatarConfigurationKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>LoggingConfigurationFileName : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ModuleRouteDataKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>PermissionClaimType : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CoreFeatures'>
<div class='header class'>
<span >CoreFeatures</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>SignalR : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CoreHttpContextExtensions'>
<div class='header class'>
<span >CoreHttpContextExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>GetWorkContext(<span class='type'>HttpContext</span> context) : <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CoreModule'>
<div class='header class'>
<span >CoreModule : <span class='type'><a class='type' href='#Fx.ModuleBase'>ModuleBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span>, <span class='type'><a class='type' href='#Fx.IConfigurationExtender'>IConfigurationExtender</a></span>, <span class='type'><a class='type' href='#Fx.IApplicationExtender'>IApplicationExtender</a></span>, <span class='type'><a class='type' href='#Fx.IConfigureOptions'>IConfigureOptions</a></span>&lt;<span class='type'>AuthorizationOptions</span>&gt;, <span class='type'><a class='type' href='#Fx.IPermissionConventionProvider'>IPermissionConventionProvider</a></span>, <span class='type'><a class='type' href='#Fx.IPermissionProvider'>IPermissionProvider</a></span>, <span class='type'><a class='type' href='#Fx.IMvcApplicationModelConventionsProvider'>IMvcApplicationModelConventionsProvider</a></span>, <span class='type'><a class='type' href='#Fx.IConfigureOptions'>IConfigureOptions</a></span>&lt;<span class='type'>MvcJsonOptions</span>&gt;, <span class='type'><a class='type' href='#Fx.IFeatureProvider'>IFeatureProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CoreModule()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
<li class='pubmethod code'>ConfigureOptions(<span class='type'>AuthorizationOptions</span> options)</li>
<li class='pubmethod code'>ConfigureOptions(<span class='type'>MvcJsonOptions</span> options)</li>
<li class='pubmethod code'>ExtendApplication(<span class='type'>IApplicationBuilder</span> app)</li>
<li class='pubmethod code'>ExtendConfiguration(<span class='type'>IConfigurationBuilder</span> builder)</li>
<li class='pubmethod code'>GetFeatures() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span>&gt;</li>
<li class='pubmethod code'>GetMvcApplicationModelConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'>IApplicationModelConvention</span>&gt;</li>
<li class='pubmethod code'>GetPermissionConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span>&gt;</li>
<li class='pubmethod code'>GetPermissions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CorePermissionConventions'>
<div class='header class'>
<span >CorePermissionConventions</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Admin : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
<li class='pubfield code'><span class='static'></span>Anonymous : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
<li class='pubfield code'><span class='static'></span>Authenticated : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
<li class='pubfield code'><span class='static'></span>Author : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
<li class='pubfield code'><span class='static'></span>Contributor : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
<li class='pubfield code'><span class='static'></span>Editor : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
<li class='pubfield code'><span class='static'></span>Moderator : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CorePermissions'>
<div class='header class'>
<span >CorePermissions</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CorePermissions()</li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Admin : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
<li class='pubfield code'><span class='static'></span>Owner : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
<li class='pubfield code'><span class='static'></span>Public : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CoreServiceCollectionExtensions'>
<div class='header class'>
<span >CoreServiceCollectionExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>AddHandler&lt;<span class='type'>TRequest</span>, <span class='type'>TResponse</span>, <span class='type'>THandler</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CoreServiceProviderExtensions'>
<div class='header class'>
<span >CoreServiceProviderExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>GetRequiredServices&lt;<span class='type'>TService</span>&gt;(<span class='type'>IServiceProvider</span> serviceProvider) : <span class='type'>IEnumerable</span>&lt;<span class='type'>TService</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>GetRequiredServices(<span class='type'>IServiceProvider</span> serviceProvider, <span class='type'>Type</span> serviceType) : <span class='type'>IEnumerable</span>&lt;<span class='type'>Object</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CoreWorkContextExtensions'>
<div class='header class'>
<span >CoreWorkContextExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>GetHttpContext(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> context) : <span class='type'>HttpContext</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.CultureWorkContextFeature'>
<div class='header class'>
<span >CultureWorkContextFeature</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.ICultureWorkContextFeature'>ICultureWorkContextFeature</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CultureWorkContextFeature()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Culture { <span class='keyword'>get</span>; } : <span class='type'>CultureInfo</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.DataEnumerableExtensions'>
<div class='header class'>
<span >DataEnumerableExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>AsAsyncQueryable&lt;<span class='type'>T</span>&gt;(<span class='type'>IEnumerable</span>&lt;<span class='type'>T</span>&gt; source) : <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>AsAsyncQueryable&lt;<span class='type'>T</span>&gt;(<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt; source) : <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.DataServiceCollectionExtensions'>
<div class='header class'>
<span >DataServiceCollectionExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>AddDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>&gt;(<span class='type'>IServiceCollection</span> services, <span class='type'>Func</span>&lt;<span class='type'>IServiceProvider</span>, <span class='type'>TImplementation</span>&gt; factory, <span class='type'>ServiceLifetime</span> lifetime) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>&gt;(<span class='type'>IServiceCollection</span> services, <span class='type'>ServiceLifetime</span> lifetime) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>, <span class='type'>TAlternateService</span>&gt;(<span class='type'>IServiceCollection</span> services, <span class='type'>ServiceLifetime</span> lifetime) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddScopedDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddScopedDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>, <span class='type'>TAlternateService</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddScopedDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>&gt;(<span class='type'>IServiceCollection</span> services, <span class='type'>Func</span>&lt;<span class='type'>IServiceProvider</span>, <span class='type'>TImplementation</span>&gt; factory) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddSingletonDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddSingletonDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>, <span class='type'>TAlternateService</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddSingletonDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>&gt;(<span class='type'>IServiceCollection</span> services, <span class='type'>Func</span>&lt;<span class='type'>IServiceProvider</span>, <span class='type'>TImplementation</span>&gt; factory) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddTransientDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddTransientDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>, <span class='type'>TAlternateService</span>&gt;(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceCollection</span></li>
<li class='pubmethod code'><span class='static'></span>AddTransientDataService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>, <span class='type'>TEntity</span>&gt;(<span class='type'>IServiceCollection</span> services, <span class='type'>Func</span>&lt;<span class='type'>IServiceProvider</span>, <span class='type'>TImplementation</span>&gt; factory) : <span class='type'>IServiceCollection</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.DefaultStartup'>
<div class='header class'>
<span >DefaultStartup : <span class='type'><a class='type' href='#Fx.StartupBase'>StartupBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DefaultStartup(<span class='type'>ILoggerFactory</span> loggerFactory, <span class='type'>IHostingEnvironment</span> hostingEnvironment)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.DisposableAction'>
<div class='header class'>
<span >DisposableAction : <span class='type'><a class='type' href='#Fx.DisposableBase'>DisposableBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DisposableAction(<span class='type'>Action</span> action)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.DisposableAction'>
<div class='header class'>
<span >DisposableAction : <span class='type'><a class='type' href='#Fx.DisposableBase'>DisposableBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DisposableAction(<span class='type'>Action</span>&lt;<span class='type'>T</span>&gt; action)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.DisposableBase'>
<div class='header class'>
<span >DisposableBase</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>DisposableBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Disposed { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Dispose()</li>
<li class='protmethod code'>Dispose(<span class='keyword'>bool</span> disposing)</li>
<li class='protmethod code'>ExplicitDispose()</li>
<li class='protmethod code'>ImplicitDispose()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.EmbeddedFileProviderFactory'>
<div class='header class'>
<span >EmbeddedFileProviderFactory</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IEmbeddedFileProviderFactory'>IEmbeddedFileProviderFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EmbeddedFileProviderFactory()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFileProvider(<span class='type'>Assembly</span> assembly, <span class='keyword'>string</span> baseNamespace = <span class='keyword'>null</span>) : <span class='type'>IFileProvider</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Ensure'>
<div class='header class'>
<span >Ensure</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Ensure()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>ArgumentNotNull&lt;<span class='type'>T</span>&gt;(<span class='type'>T</span> argument, <span class='keyword'>string</span> name) : <span class='type'>T</span></li>
<li class='pubmethod code'><span class='static'></span>ArgumentNotNullOrEmpty(<span class='keyword'>string</span> argument, <span class='keyword'>string</span> name) : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FeatureBase'>
<div class='header class'>
<span >FeatureBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>FeatureBase(<span class='keyword'>string</span> code, <span class='keyword'>string</span> name, <span class='keyword'>string</span> description = <span class='keyword'>null</span>, <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> parentFeature = <span class='keyword'>null</span>, <span class='keyword'>bool</span> system = False, <span class='keyword'>bool</span> enabledByDefault = False)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Code { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>EnabledByDefault { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ParentFeature { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
<li class='pubproperty code'>ParentModule { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span></li>
<li class='pubproperty code'>System { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FeatureCache'>
<div class='header class'>
<span >FeatureCache</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>GetFeature(<span class='keyword'>string</span> key) : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
<li class='pubmethod code'><span class='static'></span>RegisterFeature(<span class='keyword'>string</span> key, <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> feature)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FeatureFactory'>
<div class='header class'>
<span >FeatureFactory</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IFeatureFactory'>IFeatureFactory</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FeatureFactory(<span class='type'><a class='type' href='#Fx.IFeatureStateProvider'>IFeatureStateProvider</a></span> featureStateProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFeature(<span class='type'>IServiceProvider</span> serviceProvider, <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> feature) : <span class='type'><a class='type' href='#Fx.IFeatureService'>IFeatureService</a></span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FeatureService'>
<div class='header class'>
<span >FeatureService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IFeatureService'>IFeatureService</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FeatureService(<span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> feature, <span class='keyword'>bool</span> enabled, <span class='type'>Func</span>&lt;<span class='type'>T</span>&gt; factory = <span class='keyword'>null</span>, <span class='type'>IConfigurationSection</span> configuration = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Configuration { <span class='keyword'>get</span>; } : <span class='type'>IConfigurationSection</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Feature { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
<li class='pubproperty code'>Service { <span class='keyword'>get</span>; } : <span class='type'>T</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FeatureServiceDescriptorExtensions'>
<div class='header class'>
<span >FeatureServiceDescriptorExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>AsFeature(<span class='type'>ServiceDescriptor</span> descriptor, <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> feature) : <span class='type'>ServiceDescriptor</span></li>
<li class='pubmethod code'><span class='static'></span>CreateObjectFactory(<span class='type'>ServiceDescriptor</span> descriptor, <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> feature) : <span class='type'>Func</span>&lt;<span class='type'>IServiceProvider</span>, <span class='type'>Object</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FeatureState'>
<div class='header class'>
<span >FeatureState</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FeatureState()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Configuration { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>IConfigurationSection</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FeatureStateProvider'>
<div class='header class'>
<span >FeatureStateProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IFeatureStateProvider'>IFeatureStateProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FeatureStateProvider(<span class='type'>IConfiguration</span> configuration)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetFeatureState(<span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> feature) : <span class='type'><a class='type' href='#Fx.FeatureState'>FeatureState</a></span></li>
<li class='pubmethod code'>GetFeatureState(<span class='keyword'>string</span> key) : <span class='type'><a class='type' href='#Fx.FeatureState'>FeatureState</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FixedArrayActionExecutor'>
<div class='header class'>
<span >FixedArrayActionExecutor</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FixedArrayActionExecutor(<span class='type'>T</span>[] items)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Execute(<span class='type'>Action</span>&lt;<span class='type'>T</span>&gt; action)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FixedArrayActionExecutorAsync'>
<div class='header class'>
<span >FixedArrayActionExecutorAsync</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FixedArrayActionExecutorAsync(<span class='type'>T</span>[] items)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExecuteAsync(<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&gt; action, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Flags'>
<div class='header class'>
<span >Flags</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IFlags'>IFlags</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Flags(<span class='type'>IConfiguration</span> configuration, <span class='type'>ILoggerFactory</span> loggerFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Get(<span class='keyword'>string</span> key, <span class='keyword'>bool</span> default = False) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GetEnum&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> key, <span class='type'>T</span> default = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.FlowWorkContextMiddleware'>
<div class='header class'>
<span >FlowWorkContextMiddleware</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FlowWorkContextMiddleware(<span class='type'>RequestDelegate</span> next)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Invoke(<span class='type'>HttpContext</span> context) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Host'>
<div class='header class'>
<span >Host</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Host(<span class='type'>IHostingEnvironment</span> hostingEnvironment, <span class='type'>Action</span>&lt;<span class='type'>IConfigurationBuilder</span>&gt; configuration)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Configuration { <span class='keyword'>get</span>; } : <span class='type'>IConfiguration</span></li>
<li class='pubproperty code'>ContentTypeProvider { <span class='keyword'>get</span>; } : <span class='type'>IContentTypeProvider</span></li>
<li class='pubproperty code'>ExternalFileProvider { <span class='keyword'>get</span>; } : <span class='type'>IFileProvider</span></li>
<li class='pubproperty code'>InternalFileProvider { <span class='keyword'>get</span>; } : <span class='type'>IFileProvider</span></li>
<li class='pubproperty code'>KnownLogicalGroups { <span class='keyword'>get</span>; } : <span class='type'>String</span>[]</li>
<li class='pubproperty code'>Router { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>IRouter</span></li>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ConfigureApplication(<span class='type'>IApplicationBuilder</span> app)</li>
<li class='pubmethod code'>ConfigureEntityFramework(<span class='type'>Action</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringProvider'>IConnectionStringProvider</a></span>, <span class='type'>String</span>, <span class='type'>DbContextOptionsBuilder</span>&gt; optionsAction = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>ConfigureLogging(<span class='type'>ILoggerFactory</span> factory)</li>
<li class='pubmethod code'>ConfigureMvcRoutes(<span class='type'>RouteBuilder</span> routes)</li>
<li class='pubmethod code'>ConfigureServices(<span class='type'>IServiceCollection</span> services)</li>
<li class='pubmethod code'>ExecuteStartupActions()</li>
<li class='pubmethod code'>GetAvailableDataSets() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>&gt;</li>
<li class='pubmethod code'>GetAvailableModules() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span>&gt;</li>
<li class='pubmethod code'>GetAvailablePermissionConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span>&gt;</li>
<li class='pubmethod code'>GetAvailablePermissions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>&gt;</li>
<li class='pubmethod code'>GetCustomContentTypes() : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>String</span>&gt;</li>
<li class='pubmethod code'>SetRootServiceProvider(<span class='type'>IServiceProvider</span> serviceProvider)</li>
<li class='pubmethod code'>WithEachDataModule(<span class='type'>Action</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IDataModule'>IDataModule</a></span>&gt; action)</li>
<li class='pubmethod code'>WithEachModule(<span class='type'>Action</span>&lt;<span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span>&gt; action)</li>
<li class='pubmethod code'>WithEachModule&lt;<span class='type'>T</span>&gt;(<span class='type'>Action</span>&lt;<span class='type'>T</span>&gt; action)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.HostModuleAttribute'>
<div class='header class'>
<span >HostModuleAttribute : <span class='type'>Attribute</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>HostModuleAttribute()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.HttpClientAdapter'>
<div class='header class'>
<span >HttpClientAdapter</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IHttpClient'>IHttpClient</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>HttpClientAdapter(<span class='type'>HttpClient</span> httpClient)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>DeleteAsync(<span class='type'>Uri</span> uri, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>DeleteAsync(<span class='keyword'>string</span> url, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>GetAsync(<span class='type'>Uri</span> uri, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>GetAsync(<span class='keyword'>string</span> url, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>GetByteArrayAsync(<span class='type'>Uri</span> uri) : <span class='type'>Task</span>&lt;<span class='type'>Byte</span>[]&gt;</li>
<li class='pubmethod code'>GetByteArrayAsync(<span class='keyword'>string</span> url) : <span class='type'>Task</span>&lt;<span class='type'>Byte</span>[]&gt;</li>
<li class='pubmethod code'>GetStreamAsync(<span class='type'>Uri</span> uri) : <span class='type'>Task</span>&lt;<span class='type'>Stream</span>&gt;</li>
<li class='pubmethod code'>GetStreamAsync(<span class='keyword'>string</span> url) : <span class='type'>Task</span>&lt;<span class='type'>Stream</span>&gt;</li>
<li class='pubmethod code'>GetStringAsync(<span class='type'>Uri</span> uri) : <span class='type'>Task</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubmethod code'>GetStringAsync(<span class='keyword'>string</span> url) : <span class='type'>Task</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubmethod code'>PostAsync(<span class='type'>Uri</span> uri, <span class='type'>HttpContent</span> content, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>PostAsync(<span class='keyword'>string</span> url, <span class='type'>HttpContent</span> content, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>PutAsync(<span class='type'>Uri</span> uri, <span class='type'>HttpContent</span> content, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>PutAsync(<span class='keyword'>string</span> url, <span class='type'>HttpContent</span> content, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>SendAsync(<span class='type'>HttpRequestMessage</span> message, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.HttpContextWorkContextFeature'>
<div class='header class'>
<span >HttpContextWorkContextFeature</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IHttpContextWorkContextFeature'>IHttpContextWorkContextFeature</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>HttpContextWorkContextFeature(<span class='type'>HttpContext</span> httpContext)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>HttpContext { <span class='keyword'>get</span>; } : <span class='type'>HttpContext</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IApplicationExtender'>
<div class='header interface'>
<span >IApplicationExtender</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExtendApplication(<span class='type'>IApplicationBuilder</span> builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IApplicationWorkContextFeature'>
<div class='header interface'>
<span >IApplicationWorkContextFeature</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApplicationId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IAssemblyProvider'>
<div class='header interface'>
<span >IAssemblyProvider</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Assemblies { <span class='keyword'>get</span>; } : <span class='type'>IEnumerable</span>&lt;<span class='type'>Assembly</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IClock'>
<div class='header interface'>
<span >IClock</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>UtcNow { <span class='keyword'>get</span>; } : <span class='type'>DateTimeOffset</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IConfigurationExtender'>
<div class='header interface'>
<span >IConfigurationExtender</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExtendConfiguration(<span class='type'>IConfigurationBuilder</span> builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IConfigureLogging'>
<div class='header interface'>
<span >IConfigureLogging</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ConfigureLogging(<span class='type'>ILoggerFactory</span> factory)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IConfigureOptions'>
<div class='header interface'>
<span >IConfigureOptions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ConfigureOptions(<span class='type'>TOptions</span> options)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ICultureWorkContextFeature'>
<div class='header interface'>
<span >ICultureWorkContextFeature</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Culture { <span class='keyword'>get</span>; } : <span class='type'>CultureInfo</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IDataService'>
<div class='header interface noMembers'>
<span >IDataService</span>
</div>
</div>
<div class='objectBox' id='Fx.IDataSetProvider'>
<div class='header interface'>
<span >IDataSetProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetDataSets() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IdentityWorkContextFeature'>
<div class='header class'>
<span >IdentityWorkContextFeature</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IIdentityWorkContextFeature'>IIdentityWorkContextFeature</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>IdentityWorkContextFeature(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Identity { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IEmbeddedFileProviderFactory'>
<div class='header interface'>
<span >IEmbeddedFileProviderFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFileProvider(<span class='type'>Assembly</span> assembly, <span class='keyword'>string</span> baseNamespace = <span class='keyword'>null</span>) : <span class='type'>IFileProvider</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IExtensibleObject'>
<div class='header interface'>
<span >IExtensibleObject</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetExtensions() : <span class='type'>Dictionary</span>&lt;<span class='type'>Type</span>, <span class='type'>Object</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IFeature'>
<div class='header interface'>
<span >IFeature</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Code { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>EnabledByDefault { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ParentFeature { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
<li class='pubproperty code'>ParentModule { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span></li>
<li class='pubproperty code'>System { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IFeatureFactory'>
<div class='header interface'>
<span >IFeatureFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFeature(<span class='type'>IServiceProvider</span> serviceProvider, <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> feature) : <span class='type'><a class='type' href='#Fx.IFeatureService'>IFeatureService</a></span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IFeatureProvider'>
<div class='header interface'>
<span >IFeatureProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetFeatures() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IFeatureService'>
<div class='header interface'>
<span >IFeatureService</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Configuration { <span class='keyword'>get</span>; } : <span class='type'>IConfigurationSection</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Feature { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
<li class='pubproperty code'>Service { <span class='keyword'>get</span>; } : <span class='type'>T</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IFeatureStateProvider'>
<div class='header interface'>
<span >IFeatureStateProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetFeatureState(<span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> feature) : <span class='type'><a class='type' href='#Fx.FeatureState'>FeatureState</a></span></li>
<li class='pubmethod code'>GetFeatureState(<span class='keyword'>string</span> key) : <span class='type'><a class='type' href='#Fx.FeatureState'>FeatureState</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IFlags'>
<div class='header interface'>
<span >IFlags</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Get(<span class='keyword'>string</span> key, <span class='keyword'>bool</span> default = False) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GetEnum&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> key, <span class='type'>T</span> default = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IHost'>
<div class='header interface'>
<span >IHost</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Configuration { <span class='keyword'>get</span>; } : <span class='type'>IConfiguration</span></li>
<li class='pubproperty code'>KnownLogicalGroups { <span class='keyword'>get</span>; } : <span class='type'>String</span>[]</li>
<li class='pubproperty code'>Router { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>IRouter</span></li>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ConfigureLogging(<span class='type'>ILoggerFactory</span> loggerFactory)</li>
<li class='pubmethod code'>GetAvailableDataSets() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>&gt;</li>
<li class='pubmethod code'>GetAvailableModules() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span>&gt;</li>
<li class='pubmethod code'>GetAvailablePermissionConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span>&gt;</li>
<li class='pubmethod code'>GetAvailablePermissions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>&gt;</li>
<li class='pubmethod code'>WithEachModule(<span class='type'>Action</span>&lt;<span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span>&gt; action)</li>
<li class='pubmethod code'>WithEachModule&lt;<span class='type'>T</span>&gt;(<span class='type'>Action</span>&lt;<span class='type'>T</span>&gt; action)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IHttpClient'>
<div class='header interface'>
<span >IHttpClient</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>DeleteAsync(<span class='type'>Uri</span> uri, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>DeleteAsync(<span class='keyword'>string</span> url, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>GetAsync(<span class='type'>Uri</span> uri, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>GetAsync(<span class='keyword'>string</span> url, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>GetByteArrayAsync(<span class='type'>Uri</span> uri) : <span class='type'>Task</span>&lt;<span class='type'>Byte</span>[]&gt;</li>
<li class='pubmethod code'>GetByteArrayAsync(<span class='keyword'>string</span> url) : <span class='type'>Task</span>&lt;<span class='type'>Byte</span>[]&gt;</li>
<li class='pubmethod code'>GetStreamAsync(<span class='type'>Uri</span> uri) : <span class='type'>Task</span>&lt;<span class='type'>Stream</span>&gt;</li>
<li class='pubmethod code'>GetStreamAsync(<span class='keyword'>string</span> url) : <span class='type'>Task</span>&lt;<span class='type'>Stream</span>&gt;</li>
<li class='pubmethod code'>GetStringAsync(<span class='type'>Uri</span> uri) : <span class='type'>Task</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubmethod code'>GetStringAsync(<span class='keyword'>string</span> url) : <span class='type'>Task</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubmethod code'>PostAsync(<span class='type'>Uri</span> uri, <span class='type'>HttpContent</span> content, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>PostAsync(<span class='keyword'>string</span> url, <span class='type'>HttpContent</span> content, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>PutAsync(<span class='type'>Uri</span> uri, <span class='type'>HttpContent</span> content, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>PutAsync(<span class='keyword'>string</span> url, <span class='type'>HttpContent</span> content, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
<li class='pubmethod code'>SendAsync(<span class='type'>HttpRequestMessage</span> message, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>HttpResponseMessage</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IHttpContextWorkContextFeature'>
<div class='header interface'>
<span >IHttpContextWorkContextFeature</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>HttpContext { <span class='keyword'>get</span>; } : <span class='type'>HttpContext</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IIdentityWorkContextFeature'>
<div class='header interface'>
<span >IIdentityWorkContextFeature</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Identity { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IInstanceWorkContextFeature'>
<div class='header interface'>
<span >IInstanceWorkContextFeature</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>InstanceId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IModule'>
<div class='header interface'>
<span >IModule</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Configuration { <span class='keyword'>set</span>; } : <span class='type'>IConfiguration</span></li>
<li class='pubproperty code'>Host { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Namespace { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Order { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetFileProvider(<span class='type'><a class='type' href='#Fx.IEmbeddedFileProviderFactory'>IEmbeddedFileProviderFactory</a></span> factory) : <span class='type'>IFileProvider</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IModuleProvider'>
<div class='header interface'>
<span >IModuleProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetModules() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span>&gt;</li>
<li class='pubmethod code'>IdentifyModule(<span class='type'>AssemblyName</span> assemblyName) : <span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IMvcApplicationFeatureProvidersProvider'>
<div class='header interface'>
<span >IMvcApplicationFeatureProvidersProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMvcApplicationFeatureProviders() : <span class='type'>IEnumerable</span>&lt;<span class='type'>IApplicationFeatureProvider</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IMvcApplicationModelConventionsProvider'>
<div class='header interface'>
<span >IMvcApplicationModelConventionsProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMvcApplicationModelConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'>IApplicationModelConvention</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IMvcRouteExtender'>
<div class='header interface'>
<span >IMvcRouteExtender</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExtendRoutes(<span class='type'>RouteBuilder</span> builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.InstanceWorkContextFeature'>
<div class='header class'>
<span >InstanceWorkContextFeature</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IInstanceWorkContextFeature'>IInstanceWorkContextFeature</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>InstanceWorkContextFeature(<span class='keyword'>string</span> instanceId)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>InstanceId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IPageHelper'>
<div class='header interface'>
<span >IPageHelper</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Title { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>TitlePrefix { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>TitleSuffix { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Get&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> name, <span class='type'>T</span> default = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
<li class='pubmethod code'>Part&lt;<span class='type'>T</span>&gt;() : <span class='type'>T</span></li>
<li class='pubmethod code'>Part&lt;<span class='type'>T</span>&gt;(<span class='type'>Func</span>&lt;<span class='type'>T</span>&gt; factory) : <span class='type'>T</span></li>
<li class='pubmethod code'>Part&lt;<span class='type'>T</span>&gt;(<span class='type'>T</span> part) : <span class='type'>T</span></li>
<li class='pubmethod code'>Set&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> name, <span class='type'>T</span> value)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IPermissionConventionProvider'>
<div class='header interface'>
<span >IPermissionConventionProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetPermissionConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IPermissionProvider'>
<div class='header interface'>
<span >IPermissionProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetPermissions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IProfileImageProvider'>
<div class='header interface'>
<span >IProfileImageProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetProfileImageUrlAsync(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>String</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IRandomNumberGeneratorProvider'>
<div class='header interface'>
<span >IRandomNumberGeneratorProvider</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Generator { <span class='keyword'>get</span>; } : <span class='type'>RandomNumberGenerator</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ISecurityWorkContextFeature'>
<div class='header interface'>
<span >ISecurityWorkContextFeature</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>SecurityContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IServicesBuilder'>
<div class='header interface'>
<span >IServicesBuilder</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ISignalRRouteExtender'>
<div class='header interface'>
<span >ISignalRRouteExtender</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExtendSignalRRoutes(<span class='type'>HubRouteBuilder</span> builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ISourceControlInfoProvider'>
<div class='header interface'>
<span >ISourceControlInfoProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetSourceControlInfo() : <span class='type'><a class='type' href='#Fx.SourceControlInfo'>SourceControlInfo</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IStartupAction'>
<div class='header interface'>
<span >IStartupAction</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExecuteAsync(<span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span> host, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IStartupActionExecutor'>
<div class='header interface'>
<span >IStartupActionExecutor</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExecuteAsync(<span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span> host, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ITestModeWorkContextFeature'>
<div class='header interface'>
<span >ITestModeWorkContextFeature</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>TestMode { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IWorkContext'>
<div class='header interface'>
<span >IWorkContext</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApplicationId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Culture { <span class='keyword'>get</span>; } : <span class='type'>CultureInfo</span></li>
<li class='pubproperty code'>Features { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span></li>
<li class='pubproperty code'>Identity { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubproperty code'>InstanceId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>SecurityContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span></li>
<li class='pubproperty code'>TestMode { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>SwitchIdentity(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity) : <span class='type'>IDisposable</span></li>
<li class='pubmethod code'>SwitchSecurityContext(<span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span> context) : <span class='type'>IDisposable</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IWorkContextFactory'>
<div class='header interface'>
<span >IWorkContextFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateWorkContext(<span class='type'>HttpContext</span> httpContext) : <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IWorkContextFeatureCollection'>
<div class='header interface'>
<span >IWorkContextFeatureCollection</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>IsReadOnly { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Revision { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Get&lt;<span class='type'>TFeature</span>&gt;() : <span class='type'>TFeature</span></li>
<li class='pubmethod code'>Set&lt;<span class='type'>TFeature</span>&gt;(<span class='type'>TFeature</span> instance)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.IWorkContextHttpFeature'>
<div class='header interface'>
<span >IWorkContextHttpFeature</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>WorkContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.MissingFeatureService'>
<div class='header class'>
<span >MissingFeatureService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IFeatureService'>IFeatureService</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MissingFeatureService()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Configuration { <span class='keyword'>get</span>; } : <span class='type'>IConfigurationSection</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Feature { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
<li class='pubproperty code'>Service { <span class='keyword'>get</span>; } : <span class='type'>T</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ModuleBase'>
<div class='header class'>
<span >ModuleBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>ModuleBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Configuration { <span class='keyword'>protected</span> <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>IConfiguration</span></li>
<li class='pubproperty code'>Host { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Namespace { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Order { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetFileProvider(<span class='type'><a class='type' href='#Fx.IEmbeddedFileProviderFactory'>IEmbeddedFileProviderFactory</a></span> factory) : <span class='type'>IFileProvider</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='protfield code'>_assembly : <span class='type'>Assembly</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ModuleOrder'>
<div class='header class'>
<span >ModuleOrder</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Level0 : <span class='keyword'>int</span></li>
<li class='pubfield code'><span class='static'></span>Level1 : <span class='keyword'>int</span></li>
<li class='pubfield code'><span class='static'></span>Level2 : <span class='keyword'>int</span></li>
<li class='pubfield code'><span class='static'></span>Level3 : <span class='keyword'>int</span></li>
<li class='pubfield code'><span class='static'></span>Level4 : <span class='keyword'>int</span></li>
<li class='pubfield code'><span class='static'></span>Level5 : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ModuleProvider'>
<div class='header class'>
<span >ModuleProvider : <span class='type'><a class='type' href='#Fx.ModuleProviderBase'>ModuleProviderBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModuleProvider(<span class='type'>IHostingEnvironment</span> environment)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AssemblyProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IAssemblyProvider'>IAssemblyProvider</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>DiscoverModules()</li>
<li class='pubmethod code'>IsModule(<span class='type'>TypeInfo</span> typeInfo, <span class='type'>ISet</span>&lt;<span class='type'>Assembly</span>&gt; candidateAssemblies) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ModuleProviderBase'>
<div class='header class'>
<span >ModuleProviderBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IModuleProvider'>IModuleProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>ModuleProviderBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>AddModule&lt;<span class='type'>T</span>&gt;()</li>
<li class='protmethod code'>AddModule(<span class='type'>Type</span> moduleType)</li>
<li class='pubmethod code'>GetModules() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span>&gt;</li>
<li class='pubmethod code'>IdentifyModule(<span class='type'>AssemblyName</span> assemblyName) : <span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.PageHelper'>
<div class='header class'>
<span >PageHelper</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IPageHelper'>IPageHelper</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PageHelper()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Title { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>TitlePrefix { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>TitleSuffix { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Get&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> name, <span class='type'>T</span> default = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
<li class='pubmethod code'>Part&lt;<span class='type'>T</span>&gt;() : <span class='type'>T</span></li>
<li class='pubmethod code'>Part&lt;<span class='type'>T</span>&gt;(<span class='type'>Func</span>&lt;<span class='type'>T</span>&gt; factory) : <span class='type'>T</span></li>
<li class='pubmethod code'>Part&lt;<span class='type'>T</span>&gt;(<span class='type'>T</span> value) : <span class='type'>T</span></li>
<li class='pubmethod code'>Set&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> name, <span class='type'>T</span> value)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.RandomNumberGeneratorProvider'>
<div class='header class'>
<span >RandomNumberGeneratorProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IRandomNumberGeneratorProvider'>IRandomNumberGeneratorProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RandomNumberGeneratorProvider()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Generator { <span class='keyword'>get</span>; } : <span class='type'>RandomNumberGenerator</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.SecurityWorkContextFeature'>
<div class='header class'>
<span >SecurityWorkContextFeature</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.ISecurityWorkContextFeature'>ISecurityWorkContextFeature</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SecurityWorkContextFeature(<span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span> context)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>SecurityContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.SemanticVersion'>
<div class='header class'>
<span >SemanticVersion</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SemanticVersion(<span class='keyword'>int</span> major, <span class='keyword'>int</span> minor = 0, <span class='keyword'>int</span> patch = 0, <span class='keyword'>string</span> preRelease = , <span class='keyword'>string</span> build = )</li>
<li class='pubmethod code'>SemanticVersion(<span class='type'>Version</span> version = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Build { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Major { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Minor { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Patch { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>PreRelease { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Change(<span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt; major = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt; minor = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt; patch = <span class='keyword'>null</span>, <span class='keyword'>string</span> preRelease = <span class='keyword'>null</span>, <span class='keyword'>string</span> build = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
<li class='pubmethod code'><span class='static'></span>Compare(<span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> first, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> second) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CompareByPrecedence(<span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CompareTo(<span class='keyword'>object</span> obj) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version) : <span class='keyword'>int</span></li>
<li class='pubmethod code'><span class='static'></span>Equals(<span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> first, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> second) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'><span class='static'></span>Parse(<span class='keyword'>string</span> version, <span class='keyword'>bool</span> strict = False) : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
<li class='pubmethod code'>PrecedenceMatches(<span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>Production() : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
<li class='pubmethod code'><span class='static'></span>TryParse(<span class='keyword'>string</span> version, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> semVer, <span class='keyword'>bool</span> strict = False) : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Zero : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ServiceCollectionExtensions'>
<div class='header class'>
<span >ServiceCollectionExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>AddFeatureServices(<span class='type'>IServiceCollection</span> services, <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span> feature) : <span class='type'>IServiceCollection</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.SignalRFeature'>
<div class='header class'>
<span >SignalRFeature : <span class='type'><a class='type' href='#Fx.FeatureBase'>FeatureBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IApplicationExtender'>IApplicationExtender</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SignalRFeature()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExtendApplication(<span class='type'>IApplicationBuilder</span> builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.SourceControlInfo'>
<div class='header class'>
<span >SourceControlInfo</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SourceControlInfo(<span class='keyword'>string</span> branchName = <span class='keyword'>null</span>, <span class='keyword'>string</span> revision = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>BranchName { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Revision { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.SourceControlInfoProvider'>
<div class='header class'>
<span >SourceControlInfoProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.ISourceControlInfoProvider'>ISourceControlInfoProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SourceControlInfoProvider(<span class='type'>IConfiguration</span> configuration)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetSourceControlInfo() : <span class='type'><a class='type' href='#Fx.SourceControlInfo'>SourceControlInfo</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.StartupActionExecutor'>
<div class='header class'>
<span >StartupActionExecutor</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IStartupActionExecutor'>IStartupActionExecutor</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>StartupActionExecutor(<span class='type'>IServiceProvider</span> serviceProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExecuteAsync(<span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span> host, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.StartupBase'>
<div class='header class'>
<span >StartupBase</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>StartupBase(<span class='type'>ILoggerFactory</span> loggerFactory, <span class='type'>IHostingEnvironment</span> hostingEnvironment, <span class='type'>Action</span>&lt;<span class='type'>IConfigurationBuilder</span>&gt; configure = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Configuration { <span class='keyword'>get</span>; } : <span class='type'>IConfiguration</span></li>
<li class='pubproperty code'>Host { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Host'>Host</a></span></li>
<li class='pubproperty code'>Logger { <span class='keyword'>get</span>; } : <span class='type'>ILogger</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildConfiguration(<span class='type'>IConfigurationBuilder</span> builder)</li>
<li class='pubmethod code'>BuildServiceProvider(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceProvider</span></li>
<li class='pubmethod code'>Configure(<span class='type'>IApplicationBuilder</span> app)</li>
<li class='protmethod code'>ConfigureCore(<span class='type'>IApplicationBuilder</span> app)</li>
<li class='pubmethod code'>ConfigureLogging(<span class='type'>ILoggerFactory</span> loggerFactory)</li>
<li class='pubmethod code'>ConfigureMvc(<span class='type'>IApplicationBuilder</span> app)</li>
<li class='pubmethod code'>ConfigureMvcRoutes(<span class='type'>IRouteBuilder</span> routes)</li>
<li class='pubmethod code'>ConfigureServices(<span class='type'>IServiceCollection</span> services) : <span class='type'>IServiceProvider</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.TestModeWorkContextFeature'>
<div class='header class'>
<span >TestModeWorkContextFeature</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.ITestModeWorkContextFeature'>ITestModeWorkContextFeature</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>TestModeWorkContextFeature(<span class='keyword'>bool</span> testMode)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>TestMode { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Unit'>
<div class='header class'>
<span >Unit : <span class='type'>ValueType</span></span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Unit'>Unit</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Unit'>Unit</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Task : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Unit'>Unit</a></span>&gt;</li>
<li class='pubfield code'><span class='static'></span>Value : <span class='type'><a class='type' href='#Fx.Unit'>Unit</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.ValueComparer'>
<div class='header class'>
<span >ValueComparer</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ValueComparer(<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Object</span>&gt;[] properties)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Properties { <span class='keyword'>get</span>; } : <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Object</span>&gt;[]</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Compare(<span class='type'>T</span> x, <span class='type'>T</span> y) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'>T</span> x, <span class='type'>T</span> y) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GetHashCode(<span class='type'>T</span> obj) : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.WeakReference'>
<div class='header class'>
<span >WeakReference : <span class='type'>WeakReference</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>WeakReference(<span class='type'>T</span> obj)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Target { <span class='keyword'>get</span>; } : <span class='type'>T</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.WorkContext'>
<div class='header class'>
<span >WorkContext</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>WorkContext()</li>
<li class='pubmethod code'>WorkContext(<span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span> features)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApplicationId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Culture { <span class='keyword'>get</span>; } : <span class='type'>CultureInfo</span></li>
<li class='pubproperty code'>Features { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span></li>
<li class='pubproperty code'>Identity { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubproperty code'>InstanceId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>SecurityContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span></li>
<li class='pubproperty code'>TestMode { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Initialise(<span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span> features)</li>
<li class='pubmethod code'>SwitchIdentity(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity) : <span class='type'>IDisposable</span></li>
<li class='pubmethod code'>SwitchSecurityContext(<span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span> context) : <span class='type'>IDisposable</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.WorkContextFactory'>
<div class='header class'>
<span >WorkContextFactory</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IWorkContextFactory'>IWorkContextFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>WorkContextFactory(<span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityService'>IIdentityService</a></span> identityService, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory, <span class='type'><a class='type' href='#Fx.Fx.Security.IMembershipService'>IMembershipService</a></span> securityService, <span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.ApplicationOptions'>ApplicationOptions</a></span>&gt; applicationOptions)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateWorkContext(<span class='type'>HttpContext</span> httpContext) : <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.WorkContextFeatureCollection'>
<div class='header class'>
<span >WorkContextFeatureCollection</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>WorkContextFeatureCollection()</li>
<li class='pubmethod code'>WorkContextFeatureCollection(<span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span> defaults)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>IsReadOnly { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Revision { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Get&lt;<span class='type'>TFeature</span>&gt;() : <span class='type'>TFeature</span></li>
<li class='pubmethod code'>GetEnumerator() : <span class='type'>IEnumerator</span>&lt;<span class='type'>KeyValuePair</span>&lt;<span class='type'>Type</span>, <span class='type'>Object</span>&gt;&gt;</li>
<li class='pubmethod code'>Set&lt;<span class='type'>TFeature</span>&gt;(<span class='type'>TFeature</span> instance)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.WorkContextFeatureReference'>
<div class='header class'>
<span >WorkContextFeatureReference : <span class='type'>ValueType</span></span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Fetch(<span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span> features) : <span class='type'>T</span></li>
<li class='pubmethod code'>Update(<span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span> features, <span class='type'>T</span> feature) : <span class='type'>T</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Default : <span class='type'><a class='type' href='#Fx.WorkContextFeatureReference'>WorkContextFeatureReference</a></span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.WorkContextFeatureReferences'>
<div class='header class'>
<span >WorkContextFeatureReferences : <span class='type'>ValueType</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>WorkContextFeatureReferences(<span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span> features)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Collection { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span></li>
<li class='pubproperty code'>Revision { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Fetch&lt;<span class='type'>TFeature</span>&gt;(<span class='type'>TFeature</span> cached, <span class='type'>Func</span>&lt;<span class='type'><a class='type' href='#Fx.IWorkContextFeatureCollection'>IWorkContextFeatureCollection</a></span>, <span class='type'>TFeature</span>&gt; factory) : <span class='type'>TFeature</span></li>
<li class='pubmethod code'>Fetch&lt;<span class='type'>TFeature</span>, <span class='type'>TState</span>&gt;(<span class='type'>TFeature</span> cached, <span class='type'>TState</span> state, <span class='type'>Func</span>&lt;<span class='type'>TState</span>, <span class='type'>TFeature</span>&gt; factory) : <span class='type'>TFeature</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'>Cache : <span class='type'>TCache</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.WorkContextHttpFeature'>
<div class='header class'>
<span >WorkContextHttpFeature</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IWorkContextHttpFeature'>IWorkContextHttpFeature</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>WorkContextHttpFeature(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> context)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>WorkContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Api'>
<h3 class='expander active'>Fx.Api</h3><div>
<div class='objectBox' id='Fx.Fx.Api.ApiConstants'>
<div class='header class'>
<span >ApiConstants</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>BadRequestForInvalidModelState : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.ApiControllerBase'>
<div class='header class'>
<span >ApiControllerBase : <span class='type'>Controller</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>ApiControllerBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Error(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.Error'>Error</a></span>[] errors) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.ErrorResponse'>ErrorResponse</a></span></li>
<li class='pubmethod code'>Error(<span class='type'>Exception</span> exception) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.ErrorResponse'>ErrorResponse</a></span></li>
<li class='pubmethod code'>Many(<span class='type'>IEnumerable</span>&lt;<span class='type'>Object</span>&gt; items) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.ManyItemResponse'>ManyItemResponse</a></span></li>
<li class='pubmethod code'>Many(<span class='type'>IEnumerable</span>&lt;<span class='type'>Object</span>&gt; items, <span class='keyword'>int</span> currentPage, <span class='keyword'>int</span> pageSize, <span class='keyword'>int</span> totalItems, <span class='keyword'>int</span> totalPages) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.ManyItemResponse'>ManyItemResponse</a></span></li>
<li class='pubmethod code'>Many&lt;<span class='type'>TItem</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'>TItem</span>&gt; pager) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.ManyItemResponse'>ManyItemResponse</a></span></li>
<li class='pubmethod code'>ObjectWithStatusCode(<span class='keyword'>int</span> statusCode, <span class='keyword'>object</span> object) : <span class='type'><a class='type' href='#Fx.Fx.Api.StatusCodeObjectResult'>StatusCodeObjectResult</a></span></li>
<li class='pubmethod code'>Single(<span class='keyword'>object</span> item) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.SingleItemResponse'>SingleItemResponse</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.ApiEnumExtensions'>
<div class='header class'>
<span >ApiEnumExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>GetAttribute&lt;<span class='type'>TAttribute</span>&gt;(<span class='type'>Enum</span> value) : <span class='type'>TAttribute</span></li>
<li class='pubmethod code'><span class='static'></span>ToHttpStatusCode(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResultType'>CreateResultType</a></span> value) : <span class='keyword'>int</span></li>
<li class='pubmethod code'><span class='static'></span>ToHttpStatusCode(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResultType'>DeleteResultType</a></span> value) : <span class='keyword'>int</span></li>
<li class='pubmethod code'><span class='static'></span>ToHttpStatusCode(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResultType'>UpdateResultType</a></span> value) : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.ApiModule'>
<div class='header class'>
<span >ApiModule : <span class='type'><a class='type' href='#Fx.ModuleBase'>ModuleBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IConfigureOptions'>IConfigureOptions</a></span>&lt;<span class='type'>MvcOptions</span>&gt;, <span class='type'><a class='type' href='#Fx.IConfigureOptions'>IConfigureOptions</a></span>&lt;<span class='type'>MvcJsonOptions</span>&gt;, <span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ApiModule()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
<li class='pubmethod code'>ConfigureOptions(<span class='type'>MvcOptions</span> options)</li>
<li class='pubmethod code'>ConfigureOptions(<span class='type'>MvcJsonOptions</span> options)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.CompositeValidator'>
<div class='header class'>
<span >CompositeValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'>TSubject</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CompositeValidator(<span class='type'>IEnumerable</span>&lt;<span class='type'>IValidator</span>&lt;<span class='type'>TSubject</span>&gt;&gt; validators)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.DataRequestBase'>
<div class='header class'>
<span >DataRequestBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.IDataRequest'>IDataRequest</a></span>&lt;<span class='type'>TEntity</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>DataRequestBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Source { <span class='keyword'>get</span>; } : <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>SetBaseQuery(<span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;&gt; source)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.ErrorExceptionExtensions'>
<div class='header class'>
<span >ErrorExceptionExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>ToError(<span class='type'>Exception</span> exception, <span class='keyword'>int</span> statusCode = 500, <span class='keyword'>string</span> systemCode = <span class='keyword'>null</span>, <span class='keyword'>string</span> title = <span class='keyword'>null</span>, <span class='keyword'>string</span> description = <span class='keyword'>null</span>, <span class='keyword'>string</span> category = <span class='keyword'>null</span>, <span class='keyword'>string</span> reference = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.Error'>Error</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.GetSchemaRequest'>
<div class='header class'>
<span >GetSchemaRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Schema'>Schema</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GetSchemaRequest(<span class='type'>Type</span> type)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.GetSchemaRequestHandler'>
<div class='header class'>
<span >GetSchemaRequestHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.GetSchemaRequest'>GetSchemaRequest</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Api.Schema'>Schema</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GetSchemaRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Api.ISchemaProvider'>ISchemaProvider</a></span> provider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Api.GetSchemaRequest'>GetSchemaRequest</a></span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Schema'>Schema</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.HttpStatusCodeAttribute'>
<div class='header class'>
<span >HttpStatusCodeAttribute : <span class='type'>Attribute</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>HttpStatusCodeAttribute(<span class='keyword'>int</span> statusCode)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>StatusCode { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.IDataRequest'>
<div class='header interface'>
<span >IDataRequest</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Source { <span class='keyword'>get</span>; } : <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>SetBaseQuery(<span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;&gt; source)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.IMixinSource'>
<div class='header interface noMembers'>
<span >IMixinSource</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.IMixinSource'>IMixinSource</a></span></span></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.IMixinSource'>
<div class='header interface'>
<span >IMixinSource</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>EntityType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMixins() : <span class='type'>IEnumerable</span>&lt;<span class='type'>KeyValuePair</span>&lt;<span class='type'>Type</span>, <span class='type'>Object</span>&gt;&gt;</li>
<li class='pubmethod code'>SetMixin(<span class='type'>Type</span> type, <span class='keyword'>object</span> instance)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.ISchemaProvider'>
<div class='header interface'>
<span >ISchemaProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetSchemaForTypeAsync(<span class='type'>Type</span> type) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Schema'>Schema</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.MixinBindingInputFormatter'>
<div class='header class'>
<span >MixinBindingInputFormatter : <span class='type'>TextInputFormatter</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MixinBindingInputFormatter()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMixinTypesCore&lt;<span class='type'>TEntity</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span> cache) : <span class='type'>Type</span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.ModelStateBadRequestFilterAttribute'>
<div class='header class'>
<span >ModelStateBadRequestFilterAttribute</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModelStateBadRequestFilterAttribute()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>OnActionExecuted(<span class='type'>ActionExecutedContext</span> context)</li>
<li class='pubmethod code'>OnActionExecuting(<span class='type'>ActionExecutingContext</span> context)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.ReaderApiControllerBase'>
<div class='header class'>
<span >ReaderApiControllerBase : <span class='type'><a class='type' href='#Fx.Fx.Api.ApiControllerBase'>ApiControllerBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>ReaderApiControllerBase(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Mediator { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span></li>
<li class='pubproperty code'>SourceQueryModifier { <span class='keyword'>get</span>; } : <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>GetSourceQuery() : <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;&gt;</li>
<li class='pubmethod code'>QueryById(<span class='keyword'>int</span> id) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
<li class='pubmethod code'>QueryMany(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>TEntity</span>&gt; query) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
<li class='pubmethod code'>Schema() : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.RequestHandlerWithMixins'>
<div class='header class'>
<span >RequestHandlerWithMixins</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>RequestHandlerWithMixins()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>SetMixins(<span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span> entity, <span class='type'><a class='type' href='#Fx.Fx.Api.IMixinSource'>IMixinSource</a></span> source)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.RequestWithMixins'>
<div class='header class'>
<span >RequestWithMixins : <span class='type'><a class='type' href='#Fx.Fx.Api.DataRequestBase'>DataRequestBase</a></span>&lt;<span class='type'>TEntity</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.IMixinSource'>IMixinSource</a></span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Api.IMixinSource'>IMixinSource</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>RequestWithMixins()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>EntityType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMixins() : <span class='type'>IEnumerable</span>&lt;<span class='type'>KeyValuePair</span>&lt;<span class='type'>Type</span>, <span class='type'>Object</span>&gt;&gt;</li>
<li class='pubmethod code'>SetMixin(<span class='type'>Type</span> type, <span class='keyword'>object</span> instance)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Schema'>
<div class='header class'>
<span >Schema</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Schema(<span class='keyword'>string</span> name, <span class='type'>List</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.SchemaProperty'>SchemaProperty</a></span>&gt; properties)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Properties { <span class='keyword'>get</span>; } : <span class='type'>ReadOnlyCollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.SchemaProperty'>SchemaProperty</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.SchemaProperty'>
<div class='header class'>
<span >SchemaProperty</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SchemaProperty()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DefaultValue { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Editable { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Path { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Required { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Values { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Api.SchemaValue'>SchemaValue</a></span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.SchemaProvider'>
<div class='header class'>
<span >SchemaProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.ISchemaProvider'>ISchemaProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SchemaProvider(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span> cache)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetSchemaForTypeAsync(<span class='type'>Type</span> type) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Schema'>Schema</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.SchemaValue'>
<div class='header class'>
<span >SchemaValue</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SchemaValue()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Value { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.StatusCodeObjectResult'>
<div class='header class'>
<span >StatusCodeObjectResult : <span class='type'>ObjectResult</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>StatusCodeObjectResult(<span class='keyword'>int</span> statusCode, <span class='keyword'>object</span> result)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.ValidationExceptionFilterAttribute'>
<div class='header class'>
<span >ValidationExceptionFilterAttribute : <span class='type'>ExceptionFilterAttribute</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ValidationExceptionFilterAttribute()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.ValidationPipelineBehaviour'>
<div class='header class'>
<span >ValidationPipelineBehaviour</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IPipelineBehaviour'>IPipelineBehaviour</a></span>&lt;<span class='type'>TRequest</span>, <span class='type'>TResponse</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ValidationPipelineBehaviour(<span class='type'>IEnumerable</span>&lt;<span class='type'>IValidator</span>&lt;<span class='type'>TRequest</span>&gt;&gt; validators)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'>TRequest</span> request, <span class='type'><a class='type' href='#Fx.Fx.Mediator.RequestHandlerDelegate'>RequestHandlerDelegate</a></span>&lt;<span class='type'>TResponse</span>&gt; next, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.WriterApiControllerBase'>
<div class='header class'>
<span >WriterApiControllerBase : <span class='type'><a class='type' href='#Fx.Fx.Api.ReaderApiControllerBase'>ReaderApiControllerBase</a></span>&lt;<span class='type'>TEntity</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>WriterApiControllerBase(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Create(<span class='type'>TCreateRequest</span> request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
<li class='pubmethod code'>Delete(<span class='keyword'>int</span> id) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
<li class='pubmethod code'>Update(<span class='keyword'>int</span> id, <span class='type'>TUpdateRequest</span> request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Api.Command'>
<h3 class='expander active'>Fx.Api.Command</h3><div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.CreateRequestHandlerBase'>
<div class='header class'>
<span >CreateRequestHandlerBase : <span class='type'><a class='type' href='#Fx.Fx.Api.RequestHandlerWithMixins'>RequestHandlerWithMixins</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'>TCreateRequest</span>, <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResult'>CreateResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>CreateRequestHandlerBase(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TEntity</span>&gt; writer, <span class='keyword'>bool</span> reloadEntityAfterSave = False)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Writer { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>AfterCreatedAsync(<span class='type'>TCreateRequest</span> request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span></li>
<li class='protmethod code'>BeforeCreatingAsync(<span class='type'>TCreateRequest</span> request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span></li>
<li class='protmethod code'>ConfigureQuery(<span class='type'>TCreateRequest</span> request, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt; source) : <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='protmethod code'>GetConflictingAsync(<span class='type'>TCreateRequest</span> request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'>HandleAsync(<span class='type'>TCreateRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResult'>CreateResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</li>
<li class='protmethod code'>Map(<span class='type'>TCreateRequest</span> request) : <span class='type'>TEntity</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.CreateResult'>
<div class='header class'>
<span >CreateResult</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Resource { <span class='keyword'>get</span>; } : <span class='type'>TResource</span></li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResultType'>CreateResultType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>Conflicted(<span class='keyword'>int</span> id, <span class='type'>TResource</span> resource) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResult'>CreateResult</a></span>&lt;<span class='type'>TResource</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>Created(<span class='keyword'>int</span> id, <span class='type'>TResource</span> resource) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResult'>CreateResult</a></span>&lt;<span class='type'>TResource</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>NoPermission() : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResult'>CreateResult</a></span>&lt;<span class='type'>TResource</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.CreateResultType'>
<div class='header class'>
<span >CreateResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Conflicted : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResultType'>CreateResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>Created : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResultType'>CreateResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>NoPermission : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResultType'>CreateResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.DeleteRequest'>
<div class='header class'>
<span >DeleteRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.IDeleteRequest'>IDeleteRequest</a></span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResult'>DeleteResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DeleteRequest(<span class='keyword'>int</span> id)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.DeleteRequestHandlerBase'>
<div class='header class'>
<span >DeleteRequestHandlerBase : <span class='type'><a class='type' href='#Fx.Fx.Api.DataRequestBase'>DataRequestBase</a></span>&lt;<span class='type'>TEntity</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteRequest'>DeleteRequest</a></span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResult'>DeleteResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DeleteRequestHandlerBase(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TEntity</span>&gt; writer)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Writer { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>AfterDeletingAsync(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteRequest'>DeleteRequest</a></span>&lt;<span class='type'>TEntity</span>&gt; request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span></li>
<li class='protmethod code'>BeforeDeletingAsync(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteRequest'>DeleteRequest</a></span>&lt;<span class='type'>TEntity</span>&gt; request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span></li>
<li class='protmethod code'>ConfigureQuery(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteRequest'>DeleteRequest</a></span>&lt;<span class='type'>TEntity</span>&gt; request, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt; source) : <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteRequest'>DeleteRequest</a></span>&lt;<span class='type'>TEntity</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResult'>DeleteResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.DeleteResult'>
<div class='header class'>
<span >DeleteResult</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResultType'>DeleteResultType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>Deleted(<span class='keyword'>int</span> id) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResult'>DeleteResult</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>NoPermission() : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResult'>DeleteResult</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>NotFound(<span class='keyword'>int</span> id) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResult'>DeleteResult</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>ReadOnly(<span class='keyword'>int</span> id) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResult'>DeleteResult</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.DeleteResultType'>
<div class='header class'>
<span >DeleteResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Deleted : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResultType'>DeleteResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>NoPermission : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResultType'>DeleteResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>NotFound : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResultType'>DeleteResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>ReadOnly : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResultType'>DeleteResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.ICreateRequest'>
<div class='header interface noMembers'>
<span >ICreateRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResult'>CreateResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.IDeleteRequest'>
<div class='header interface'>
<span >IDeleteRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteResult'>DeleteResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.IUpdateRequest'>
<div class='header interface'>
<span >IUpdateRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.UpdateRequestHandlerBase'>
<div class='header class'>
<span >UpdateRequestHandlerBase : <span class='type'><a class='type' href='#Fx.Fx.Api.RequestHandlerWithMixins'>RequestHandlerWithMixins</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'>TUpdateRequest</span>, <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>UpdateRequestHandlerBase(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TEntity</span>&gt; writer, <span class='keyword'>bool</span> reloadEntityAfterSave = False)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Writer { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>AfterMappingAsync(<span class='type'>TUpdateRequest</span> request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span></li>
<li class='protmethod code'>AfterUpdatingAsync(<span class='type'>TUpdateRequest</span> request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span></li>
<li class='protmethod code'>BeforeMappingAsync(<span class='type'>TUpdateRequest</span> request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span></li>
<li class='protmethod code'>BeforeUpdatingAsync(<span class='type'>TUpdateRequest</span> request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span></li>
<li class='protmethod code'>ConfigureQuery(<span class='type'>TUpdateRequest</span> request, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt; source) : <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='protmethod code'>GetConflictingAsync(<span class='type'>TUpdateRequest</span> request, <span class='type'>TEntity</span> entity, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'>HandleAsync(<span class='type'>TUpdateRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</li>
<li class='protmethod code'>Map(<span class='type'>TUpdateRequest</span> request, <span class='type'>TEntity</span> entity)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.UpdateResult'>
<div class='header class'>
<span >UpdateResult</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Resource { <span class='keyword'>get</span>; } : <span class='type'>TResource</span></li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResultType'>UpdateResultType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>Conflicted(<span class='keyword'>int</span> id, <span class='type'>TResource</span> resource) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TResource</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>NoPermission() : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TResource</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>NotFound(<span class='keyword'>int</span> id) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TResource</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>ReadOnly(<span class='keyword'>int</span> id) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TResource</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>Updated(<span class='keyword'>int</span> id, <span class='type'>TResource</span> resource) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TResource</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Command.UpdateResultType'>
<div class='header class'>
<span >UpdateResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Conflicted : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResultType'>UpdateResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>NoPermission : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResultType'>UpdateResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>NotFound : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResultType'>UpdateResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>ReadOnly : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResultType'>UpdateResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>Updated : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResultType'>UpdateResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Api.Query'>
<h3 class='expander active'>Fx.Api.Query</h3><div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QueryByIdRequest'>
<div class='header class'>
<span >QueryByIdRequest : <span class='type'><a class='type' href='#Fx.Fx.Api.DataRequestBase'>DataRequestBase</a></span>&lt;<span class='type'>TEntity</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResult'>QuerySingleResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryByIdRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QueryByIdRequestHandlerBase'>
<div class='header class'>
<span >QueryByIdRequestHandlerBase : <span class='type'><a class='type' href='#Fx.Fx.Api.DataRequestBase'>DataRequestBase</a></span>&lt;<span class='type'>TEntity</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryByIdRequest'>QueryByIdRequest</a></span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResult'>QuerySingleResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>QueryByIdRequestHandlerBase(<span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TEntity</span>&gt; reader)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Reader { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>ConfigureQuery(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryByIdRequest'>QueryByIdRequest</a></span>&lt;<span class='type'>TEntity</span>&gt; request, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt; source) : <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryByIdRequest'>QueryByIdRequest</a></span>&lt;<span class='type'>TEntity</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResult'>QuerySingleResult</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</li>
<li class='protmethod code'>HandleCoreAsync(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryByIdRequest'>QueryByIdRequest</a></span>&lt;<span class='type'>TEntity</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='protmethod code'>Prepare(<span class='type'>TEntity</span> entity) : <span class='type'>Task</span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QueryManyRequest'>
<div class='header class'>
<span >QueryManyRequest : <span class='type'><a class='type' href='#Fx.Fx.Api.DataRequestBase'>DataRequestBase</a></span>&lt;<span class='type'>TEntity</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>QueryManyResult</a></span>&lt;<span class='type'>TEntity</span>, <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryManyRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Query { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QueryManyRequestHandlerBase'>
<div class='header class'>
<span >QueryManyRequestHandlerBase : <span class='type'><a class='type' href='#Fx.Fx.Api.DataRequestBase'>DataRequestBase</a></span>&lt;<span class='type'>TEntity</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyRequest'>QueryManyRequest</a></span>&lt;<span class='type'>TEntity</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>QueryManyResult</a></span>&lt;<span class='type'>TEntity</span>, <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>QueryManyRequestHandlerBase(<span class='type'><a class='type' href='#Fx.Fx.Query.IQueryService'>IQueryService</a></span> queryService, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TEntity</span>&gt; reader)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>QueryService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.IQueryService'>IQueryService</a></span></li>
<li class='pubproperty code'>Reader { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>ConfigureQuery(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyRequest'>QueryManyRequest</a></span>&lt;<span class='type'>TEntity</span>&gt; request, <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt; source) : <span class='type'>IQueryable</span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyRequest'>QueryManyRequest</a></span>&lt;<span class='type'>TEntity</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>QueryManyResult</a></span>&lt;<span class='type'>TEntity</span>, <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;&gt;&gt;</li>
<li class='protmethod code'>Prepare(<span class='type'>TEntity</span> entity) : <span class='type'>Task</span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='protmethod code'>PrepareItems(<span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt; entities) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>
<div class='header class'>
<span >QueryManyResult : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>QueryManyResult</a></span>&lt;<span class='type'>TEntity</span>, <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'>TEntity</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>QueryManyResult(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResultType'>QueryManyResultType</a></span> resultType, <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'>TEntity</span>&gt; items = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>NoPermission() : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>QueryManyResult</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>Success(<span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'>TEntity</span>&gt; items) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>QueryManyResult</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>
<div class='header class'>
<span >QueryManyResult</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>QueryManyResult(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResultType'>QueryManyResultType</a></span> resultType, <span class='type'>TResult</span> items = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Items { <span class='keyword'>get</span>; } : <span class='type'>TResult</span></li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResultType'>QueryManyResultType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>NoPermission() : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>QueryManyResult</a></span>&lt;<span class='type'>TEntity</span>, <span class='type'>TResult</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>Success(<span class='type'>TResult</span> items) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResult'>QueryManyResult</a></span>&lt;<span class='type'>TEntity</span>, <span class='type'>TResult</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QueryManyResultType'>
<div class='header class'>
<span >QueryManyResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>NoPermission : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResultType'>QueryManyResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>Success : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyResultType'>QueryManyResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QueryModelInputFormatter'>
<div class='header class'>
<span >QueryModelInputFormatter : <span class='type'>TextInputFormatter</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryModelInputFormatter()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QuerySingleResult'>
<div class='header class'>
<span >QuerySingleResult</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Entity { <span class='keyword'>get</span>; } : <span class='type'>TEntity</span></li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResultType'>QuerySingleResultType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>NoPermission() : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResult'>QuerySingleResult</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>NotFound() : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResult'>QuerySingleResult</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>Success(<span class='type'>TEntity</span> entity) : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResult'>QuerySingleResult</a></span>&lt;<span class='type'>TEntity</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Query.QuerySingleResultType'>
<div class='header class'>
<span >QuerySingleResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>NoPermission : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResultType'>QuerySingleResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>NotFound : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResultType'>QuerySingleResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>Success : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QuerySingleResultType'>QuerySingleResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Api.Responses'>
<h3 class='expander active'>Fx.Api.Responses</h3><div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Responses.Error'>
<div class='header class'>
<span >Error</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Error(<span class='keyword'>int</span> statusCode, <span class='keyword'>string</span> systemCode, <span class='keyword'>string</span> title, <span class='keyword'>string</span> description = <span class='keyword'>null</span>, <span class='keyword'>string</span> category = <span class='keyword'>null</span>, <span class='keyword'>string</span> reference = <span class='keyword'>null</span>, <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.Error'>Error</a></span> causedBy = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Category { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>CausedBy { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.Error'>Error</a></span></li>
<li class='pubproperty code'>Data { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Reference { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>StatusCode { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>SystemCode { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Title { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Responses.ErrorResponse'>
<div class='header class'>
<span >ErrorResponse</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ErrorResponse(<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.Error'>Error</a></span>[] errors)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Errors { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Responses.Error'>Error</a></span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Responses.ManyItemResponse'>
<div class='header class'>
<span >ManyItemResponse</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ManyItemResponse(<span class='type'>Object</span>[] items, <span class='keyword'>int</span> currentPage, <span class='keyword'>int</span> pageSize, <span class='keyword'>int</span> totalItems, <span class='keyword'>int</span> totalPages, <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt; aggregates = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Aggregates { <span class='keyword'>get</span>; } : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt;</li>
<li class='pubproperty code'>CurrentPage { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Items { <span class='keyword'>get</span>; } : <span class='type'>Object</span>[]</li>
<li class='pubproperty code'>PageSize { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>TotalItems { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>TotalPages { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Api.Fx.Api.Responses.SingleItemResponse'>
<div class='header class'>
<span >SingleItemResponse</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SingleItemResponse(<span class='keyword'>object</span> item = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Item { <span class='keyword'>get</span>; } : <span class='keyword'>object</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Binding'>
<h3 class='expander active'>Fx.Binding</h3><div>
<div class='objectBox' id='Fx.Fx.Binding.AssociatedModelMetadataProvider'>
<div class='header class'>
<span >AssociatedModelMetadataProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>AssociatedModelMetadataProvider(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span> modelBuilderCache)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>CreateMetadataFromPrototype(<span class='type'>TModelMetadata</span> prototype, <span class='type'>Func</span>&lt;<span class='type'>Object</span>&gt; modelAccessor) : <span class='type'>TModelMetadata</span></li>
<li class='protmethod code'>CreateMetadataPrototype(<span class='type'>Type</span> containerType, <span class='type'>Type</span> modelType, <span class='keyword'>string</span> propertyName, <span class='keyword'>bool</span> isMixin) : <span class='type'>TModelMetadata</span></li>
<li class='pubmethod code'>GetMetadataForProperties(<span class='keyword'>object</span> container, <span class='type'>Type</span> containerType) : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span>&gt;</li>
<li class='pubmethod code'>GetMetadataForProperty(<span class='type'>Func</span>&lt;<span class='type'>Object</span>&gt; modelAccessor, <span class='type'>Type</span> containerType, <span class='keyword'>string</span> propertyName) : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span></li>
<li class='pubmethod code'>GetMetadataForType(<span class='type'>Func</span>&lt;<span class='type'>Object</span>&gt; modelAccessor, <span class='type'>Type</span> modelType) : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.BindingTypeExtensions'>
<div class='header class'>
<span >BindingTypeExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>ExtractGenericInterface(<span class='type'>Type</span> queryType, <span class='type'>Type</span> interfaceType) : <span class='type'>Type</span></li>
<li class='pubmethod code'><span class='static'></span>IsNullableValueType(<span class='type'>Type</span> type) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.DefaultModelMetadataProvider'>
<div class='header class'>
<span >DefaultModelMetadataProvider : <span class='type'><a class='type' href='#Fx.Fx.Binding.AssociatedModelMetadataProvider'>AssociatedModelMetadataProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Binding.ModelMetadata'>ModelMetadata</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DefaultModelMetadataProvider(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span> modelBuilderCache)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.ExpressionMetadataProvider'>
<div class='header class'>
<span >ExpressionMetadataProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>FromStringExpression(<span class='keyword'>string</span> expression, <span class='type'><a class='type' href='#Fx.Fx.Binding.ModelData'>ModelData</a></span> modelData, <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> provider) : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span></li>
<li class='pubmethod code'><span class='static'></span>FromStringExpression(<span class='keyword'>string</span> expression, <span class='type'>Type</span> modelType, <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> provider) : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span></li>
<li class='pubmethod code'><span class='static'></span>FromStringExpressionParts(<span class='keyword'>string</span> expression, <span class='type'>Type</span> modelType, <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> provider) : <span class='type'>IEnumerable</span>&lt;<span class='type'>Tuple</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span>, <span class='type'>String</span>, <span class='type'>String</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.IModelMetadata'>
<div class='header interface'>
<span >IModelMetadata</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ContainerType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
<li class='pubproperty code'>IsMixin { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>IsNullableValueType { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Model { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
<li class='pubproperty code'>ModelType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
<li class='pubproperty code'>Properties { <span class='keyword'>get</span>; } : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span>&gt;</li>
<li class='pubproperty code'>PropertyName { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Provider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span></li>
<li class='pubproperty code'>RealModelType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.IModelMetadataProvider'>
<div class='header interface'>
<span >IModelMetadataProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMetadataForProperties(<span class='keyword'>object</span> container, <span class='type'>Type</span> containerType) : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span>&gt;</li>
<li class='pubmethod code'>GetMetadataForProperty(<span class='type'>Func</span>&lt;<span class='type'>Object</span>&gt; modelAccessor, <span class='type'>Type</span> containerType, <span class='keyword'>string</span> propertyName) : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span></li>
<li class='pubmethod code'>GetMetadataForType(<span class='type'>Func</span>&lt;<span class='type'>Object</span>&gt; modelAccessor, <span class='type'>Type</span> modelType) : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.ModelData'>
<div class='header class'>
<span >ModelData</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModelData()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Model { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
<li class='pubproperty code'>ModelMetadata { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.ModelDataEvaluator'>
<div class='header class'>
<span >ModelDataEvaluator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>Eval(<span class='keyword'>object</span> indexableObject, <span class='keyword'>string</span> expression) : <span class='type'><a class='type' href='#Fx.Fx.Binding.ModelDataInfo'>ModelDataInfo</a></span></li>
<li class='pubmethod code'><span class='static'></span>Eval(<span class='type'><a class='type' href='#Fx.Fx.Binding.ModelData'>ModelData</a></span> modelData, <span class='keyword'>string</span> expression) : <span class='type'><a class='type' href='#Fx.Fx.Binding.ModelDataInfo'>ModelDataInfo</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.ModelDataInfo'>
<div class='header class'>
<span >ModelDataInfo</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModelDataInfo(<span class='keyword'>object</span> container, <span class='type'>PropertyInfo</span> propertyInfo, <span class='type'>Func</span>&lt;<span class='type'>Object</span>&gt; valueAccessor)</li>
<li class='pubmethod code'>ModelDataInfo(<span class='keyword'>object</span> container, <span class='keyword'>object</span> value)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Container { <span class='keyword'>get</span>; } : <span class='keyword'>object</span></li>
<li class='pubproperty code'>PropertyInfo { <span class='keyword'>get</span>; } : <span class='type'>PropertyInfo</span></li>
<li class='pubproperty code'>Value { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.ModelMetadata'>
<div class='header class'>
<span >ModelMetadata</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModelMetadata(<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> provider, <span class='type'>Type</span> containerType, <span class='type'>Func</span>&lt;<span class='type'>Object</span>&gt; modelAccessor, <span class='type'>Type</span> modelType, <span class='keyword'>string</span> propertyName)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ContainerType { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Type</span></li>
<li class='pubproperty code'>IsMixin { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>IsNullableValueType { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Model { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
<li class='pubproperty code'>ModelType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
<li class='pubproperty code'>Properties { <span class='keyword'>get</span>; } : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadata'>IModelMetadata</a></span>&gt;</li>
<li class='pubproperty code'>PropertyName { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Provider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span></li>
<li class='pubproperty code'>RealModelType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.TryGetValueDelegate'>
<div class='header class'>
<span >TryGetValueDelegate : <span class='type'>MulticastDelegate</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>TryGetValueDelegate(<span class='keyword'>object</span> object, <span class='type'>IntPtr</span> method)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BeginInvoke(<span class='keyword'>object</span> dictionary, <span class='keyword'>string</span> key, <span class='keyword'>object</span> value, <span class='type'>AsyncCallback</span> callback, <span class='keyword'>object</span> object) : <span class='type'>IAsyncResult</span></li>
<li class='pubmethod code'>EndInvoke(<span class='keyword'>object</span> value, <span class='type'>IAsyncResult</span> result) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>Invoke(<span class='keyword'>object</span> dictionary, <span class='keyword'>string</span> key, <span class='keyword'>object</span> value) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Binding.TryGetValueProvider'>
<div class='header class'>
<span >TryGetValueProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>CreateInstance(<span class='type'>Type</span> targetType) : <span class='type'><a class='type' href='#Fx.Fx.Binding.TryGetValueDelegate'>TryGetValueDelegate</a></span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Data'>
<h3 class='expander active'>Fx.Data</h3><div>
<div class='objectBox' id='Fx.Fx.Data.AfterEntityChangedEvent'>
<div class='header class'>
<span >AfterEntityChangedEvent : <span class='type'><a class='type' href='#Fx.Fx.Events.EventBase'>EventBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.AfterEntityChangedEvent'>AfterEntityChangedEvent</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.EntityChange'>EntityChange</a></span>&lt;<span class='type'>T</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AfterEntityChangedEvent()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.AfterEntityCreatedEvent'>
<div class='header class'>
<span >AfterEntityCreatedEvent : <span class='type'><a class='type' href='#Fx.Fx.Events.EventBase'>EventBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.AfterEntityCreatedEvent'>AfterEntityCreatedEvent</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AfterEntityCreatedEvent()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.AfterEntityDeletedEvent'>
<div class='header class'>
<span >AfterEntityDeletedEvent : <span class='type'><a class='type' href='#Fx.Fx.Events.EventBase'>EventBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.AfterEntityDeletedEvent'>AfterEntityDeletedEvent</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AfterEntityDeletedEvent()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.AfterEntityUpdatedEvent'>
<div class='header class'>
<span >AfterEntityUpdatedEvent : <span class='type'><a class='type' href='#Fx.Fx.Events.EventBase'>EventBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.AfterEntityUpdatedEvent'>AfterEntityUpdatedEvent</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AfterEntityUpdatedEvent()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.AfterNodeEntityAttachedEvent'>
<div class='header class'>
<span >AfterNodeEntityAttachedEvent : <span class='type'><a class='type' href='#Fx.Fx.Events.EventBase'>EventBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.AfterEntityCreatedEvent'>AfterEntityCreatedEvent</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AfterNodeEntityAttachedEvent()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.BeforeEntityChangedEvent'>
<div class='header class'>
<span >BeforeEntityChangedEvent : <span class='type'><a class='type' href='#Fx.Fx.Events.EventBase'>EventBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.BeforeEntityChangedEvent'>BeforeEntityChangedEvent</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.EntityChange'>EntityChange</a></span>&lt;<span class='type'>T</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>BeforeEntityChangedEvent()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.BeforeEntityCreatedEvent'>
<div class='header class'>
<span >BeforeEntityCreatedEvent : <span class='type'><a class='type' href='#Fx.Fx.Events.EventBase'>EventBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.BeforeEntityCreatedEvent'>BeforeEntityCreatedEvent</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>BeforeEntityCreatedEvent()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.BeforeEntityDeletedEvent'>
<div class='header class'>
<span >BeforeEntityDeletedEvent : <span class='type'><a class='type' href='#Fx.Fx.Events.EventBase'>EventBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.BeforeEntityDeletedEvent'>BeforeEntityDeletedEvent</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>BeforeEntityDeletedEvent()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.BeforeEntityUpdatedEvent'>
<div class='header class'>
<span >BeforeEntityUpdatedEvent : <span class='type'><a class='type' href='#Fx.Fx.Events.EventBase'>EventBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.BeforeEntityUpdatedEvent'>BeforeEntityUpdatedEvent</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>BeforeEntityUpdatedEvent()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.CoercedWriterMixin'>
<div class='header class'>
<span >CoercedWriterMixin</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriterMixin'>IWriterMixin</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CoercedWriterMixin(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriterMixin'>IWriterMixin</a></span>&lt;<span class='type'>E</span>&gt; mixin)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>OnActionAsync(<span class='keyword'>string</span> action, <span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnCreatedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnCreatingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnDeletedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnDeletingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnUpdatedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnUpdatingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.ConnectionStringInfo'>
<div class='header class'>
<span >ConnectionStringInfo</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ConnectionStringInfo()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AdditionalSettings { <span class='keyword'>get</span>; } : <span class='type'>Dictionary</span>&lt;<span class='type'>String</span>, <span class='type'>String</span>&gt;</li>
<li class='pubproperty code'>Database { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DatabaseFile { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DatabaseSuffix { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Default { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Environment { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Factory { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ImplicitLogicalGroups { <span class='keyword'>get</span>; } : <span class='type'>List</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubproperty code'>LogicalGroups { <span class='keyword'>get</span>; } : <span class='type'>List</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Password { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Server { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Username { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Clone(<span class='keyword'>string</span> server = <span class='keyword'>null</span>, <span class='keyword'>string</span> database = <span class='keyword'>null</span>, <span class='keyword'>string</span> databaseFile = <span class='keyword'>null</span>, <span class='keyword'>string</span> factory = <span class='keyword'>null</span>, <span class='keyword'>string</span> username = <span class='keyword'>null</span>, <span class='keyword'>string</span> password = <span class='keyword'>null</span>, <span class='keyword'>string</span> name = <span class='keyword'>null</span>, <span class='type'>String</span>[] logicalGroups = <span class='keyword'>null</span>, <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>String</span>&gt; additionalValues = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
<li class='pubmethod code'>CloneMaster(<span class='keyword'>string</span> server = <span class='keyword'>null</span>, <span class='keyword'>string</span> username = <span class='keyword'>null</span>, <span class='keyword'>string</span> password = <span class='keyword'>null</span>, <span class='keyword'>string</span> name = <span class='keyword'>null</span>, <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>String</span>&gt; additionalValues = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
<li class='pubmethod code'>ToConnectionString() : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>DatabaseFileKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>DatabaseKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>IntegratedSecurityKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>PasswordKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ServerKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>UserKey : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.ConnectionStringProvider'>
<div class='header class'>
<span >ConnectionStringProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringProvider'>IConnectionStringProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ConnectionStringProvider(<span class='type'>IConfiguration</span> configuration, <span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span> host, <span class='type'>IHostingEnvironment</span> hostingEnvironment, <span class='type'><a class='type' href='#Fx.ISourceControlInfoProvider'>ISourceControlInfoProvider</a></span> sourceControlProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForLogicalGroup(<span class='keyword'>string</span> logicalGroup) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
<li class='pubmethod code'>GetNamedConnectionString(<span class='keyword'>string</span> name) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
<li class='pubmethod code'>GetRegisteredConnectionStrings() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span>&gt;</li>
<li class='pubmethod code'>Reload()</li>
<li class='pubmethod code'>TryGetForLogicalGroup(<span class='keyword'>string</span> logicalGroup, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionStringInfo) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>TryGetNamedConnectionString(<span class='keyword'>string</span> name, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionStringInfo) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.DataConstants'>
<div class='header class'>
<span >DataConstants</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>DatabaseConfigurationFileName : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.DataFeature'>
<div class='header class'>
<span >DataFeature : <span class='type'><a class='type' href='#Fx.FeatureBase'>FeatureBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DataFeature()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.DataFeatures'>
<div class='header class'>
<span >DataFeatures</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Data : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
<li class='pubfield code'><span class='static'></span>DataMigrations : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.DataMigrationsFeature'>
<div class='header class'>
<span >DataMigrationsFeature : <span class='type'><a class='type' href='#Fx.FeatureBase'>FeatureBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DataMigrationsFeature()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.DataModule'>
<div class='header class'>
<span >DataModule : <span class='type'><a class='type' href='#Fx.ModuleBase'>ModuleBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span>, <span class='type'><a class='type' href='#Fx.IConfigurationExtender'>IConfigurationExtender</a></span>, <span class='type'><a class='type' href='#Fx.IFeatureProvider'>IFeatureProvider</a></span>, <span class='type'><a class='type' href='#Fx.IConfigureOptions'>IConfigureOptions</a></span>&lt;<span class='type'>MvcJsonOptions</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DataModule()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
<li class='pubmethod code'>ConfigureOptions(<span class='type'>MvcJsonOptions</span> options)</li>
<li class='pubmethod code'>ExtendConfiguration(<span class='type'>IConfigurationBuilder</span> builder)</li>
<li class='pubmethod code'>GetFeatures() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.DataModuleBase'>
<div class='header class'>
<span >DataModuleBase : <span class='type'><a class='type' href='#Fx.Fx.Data.DataModuleBase'>DataModuleBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IDataModuleWithContext'>IDataModuleWithContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.IDataModule'>IDataModule</a></span>, <span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>DataModuleBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ConfigureDbContext(<span class='type'>IServiceCollection</span> services, <span class='type'>Action</span>&lt;<span class='type'>IServiceProvider</span>, <span class='type'>DbContextOptionsBuilder</span>&gt; optionsAction = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>GetDbContextTypeInfo() : <span class='type'>TypeInfo</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.DataModuleBase'>
<div class='header class'>
<span >DataModuleBase : <span class='type'><a class='type' href='#Fx.ModuleBase'>ModuleBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IDataModule'>IDataModule</a></span>, <span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>DataModuleBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetLogicalGrouping() : <span class='keyword'>string</span></li>
<li class='pubmethod code'>GetMigrations(<span class='type'><a class='type' href='#Fx.IEmbeddedFileProviderFactory'>IEmbeddedFileProviderFactory</a></span> embeddedFileProviderFactory) : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationDescriptor'>MigrationDescriptor</a></span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>GetVersion(<span class='keyword'>string</span> prefix, <span class='keyword'>string</span> resourceName) : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.DbContextBase'>
<div class='header class'>
<span >DbContextBase : <span class='type'>DbContext</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DbContextBase(<span class='type'>DbContextOptions</span>&lt;<span class='type'>T</span>&gt; options)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.DbProvider'>
<div class='header class'>
<span >DbProvider : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>SqlServer : <span class='type'><a class='type' href='#Fx.Fx.Data.DbProvider'>DbProvider</a></span></li>
<li class='pubfield code'><span class='static'></span>SqlServerLocalDb : <span class='type'><a class='type' href='#Fx.Fx.Data.DbProvider'>DbProvider</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.EntityBase'>
<div class='header class'>
<span >EntityBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span>, <span class='type'><a class='type' href='#Fx.IExtensibleObject'>IExtensibleObject</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>EntityBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Created { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubproperty code'>CreatedDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DateTimeOffset</span></li>
<li class='pubproperty code'>CreatedUserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Deleted { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Hidden { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>ReadOnly { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Updated { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubproperty code'>UpdatedDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>UpdatedUserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'><span class='static'></span>CreateIdentityThunk(<span class='type'>Func</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt; func) : <span class='type'>Lazy</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>GetMixins() : <span class='type'>Dictionary</span>&lt;<span class='type'>Type</span>, <span class='type'>Object</span>&gt;</li>
<li class='pubmethod code'>Mixin&lt;<span class='type'>T</span>&gt;() : <span class='type'>T</span></li>
<li class='pubmethod code'>ResolveIdentities()</li>
<li class='protmethod code'>ResolveIdentitiesCore()</li>
<li class='protmethod code'>ResolveIdentity(<span class='type'>Lazy</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt; identity)</li>
<li class='pubmethod code'>SetIdentityResolver(<span class='type'>Func</span>&lt;<span class='type'>Int32</span>, <span class='type'>DateTimeOffset</span>, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt; func)</li>
<li class='pubmethod code'>SetMixin&lt;<span class='type'>T</span>&gt;(<span class='type'>T</span> instance)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.EntityChange'>
<div class='header class'>
<span >EntityChange : <span class='type'>ValueType</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EntityChange(<span class='type'>T</span> entity, <span class='type'><a class='type' href='#Fx.Fx.Data.EntityChangeType'>EntityChangeType</a></span> changeType)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ChangeType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityChangeType'>EntityChangeType</a></span></li>
<li class='pubproperty code'>Entity { <span class='keyword'>get</span>; } : <span class='type'>T</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.EntityChangeType'>
<div class='header class'>
<span >EntityChangeType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Created : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityChangeType'>EntityChangeType</a></span></li>
<li class='pubfield code'><span class='static'></span>Deleted : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityChangeType'>EntityChangeType</a></span></li>
<li class='pubfield code'><span class='static'></span>Updated : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityChangeType'>EntityChangeType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.EntityGraph'>
<div class='header class'>
<span >EntityGraph</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IEntityGraph'>IEntityGraph</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EntityGraph(<span class='type'>TypeInfo</span> entity)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Dependencies { <span class='keyword'>get</span>; } : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IEntityGraph'>IEntityGraph</a></span>&gt;</li>
<li class='pubproperty code'>Entity { <span class='keyword'>get</span>; } : <span class='type'>TypeInfo</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetFlattenedDependencies(<span class='type'>ISet</span>&lt;<span class='type'>TypeInfo</span>&gt; visits = <span class='keyword'>null</span>) : <span class='type'>IEnumerable</span>&lt;<span class='type'>TypeInfo</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.EntityGraphProvider'>
<div class='header class'>
<span >EntityGraphProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IEntityGraphProvider'>IEntityGraphProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EntityGraphProvider()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetEntityGraphsForDbContext(<span class='type'>Type</span> contextType) : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IEntityGraph'>IEntityGraph</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.EntityJsonConverter'>
<div class='header class'>
<span >EntityJsonConverter : <span class='type'>JsonConverter</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EntityJsonConverter()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>ConvertObject(<span class='keyword'>object</span> value, <span class='type'>NamingStrategy</span> strategy) : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt;</li>
<li class='protmethod code'>ConvertObjectCore(<span class='keyword'>object</span> value, <span class='type'>NamingStrategy</span> strategy) : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt;</li>
<li class='protmethod code'>GetName(<span class='keyword'>string</span> name, <span class='type'>NamingStrategy</span> strategy, <span class='keyword'>bool</span> custom = False) : <span class='keyword'>string</span></li>
<li class='protmethod code'>GetName(<span class='type'>PropertyDescriptor</span> property, <span class='type'>NamingStrategy</span> strategy) : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.EntityMixinRequirement'>
<div class='header class'>
<span >EntityMixinRequirement</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EntityMixinRequirement(<span class='type'>Type</span> type)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>TypePairs { <span class='keyword'>get</span>; } : <span class='type'>Tuple</span>&lt;<span class='type'>Type</span>, <span class='type'>Type</span>, <span class='type'>Boolean</span>&gt;[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.EntityMixinRequirementCache'>
<div class='header class'>
<span >EntityMixinRequirementCache</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IEntityMixinRequirementCache'>IEntityMixinRequirementCache</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EntityMixinRequirementCache()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetRequirements&lt;<span class='type'>T</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityMixinRequirement'>EntityMixinRequirement</a></span></li>
<li class='pubmethod code'>GetRequirements(<span class='type'>Type</span> entityType) : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityMixinRequirement'>EntityMixinRequirement</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.ExtendedSqlServerQuerySqlGenerator'>
<div class='header class'>
<span >ExtendedSqlServerQuerySqlGenerator : <span class='type'>SqlServerQuerySqlGenerator</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExtendedSqlServerQuerySqlGenerator(<span class='type'>QuerySqlGeneratorDependencies</span> dependencies, <span class='type'>SelectExpression</span> selectExpression, <span class='keyword'>bool</span> rowNumberPagingEnabled, <span class='type'><a class='type' href='#Fx.IFlags'>IFlags</a></span> flags, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span> modelBuilderCache, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringProvider'>IConnectionStringProvider</a></span> connectionStringProvider)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.ExtendedSqlServerQuerySqlGeneratorFactory'>
<div class='header class'>
<span >ExtendedSqlServerQuerySqlGeneratorFactory : <span class='type'>SqlServerQuerySqlGeneratorFactory</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExtendedSqlServerQuerySqlGeneratorFactory(<span class='type'>QuerySqlGeneratorDependencies</span> dependencies, <span class='type'>ISqlServerOptions</span> sqlServerOptions, <span class='type'><a class='type' href='#Fx.IFlags'>IFlags</a></span> flags, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span> modelBuilderCache, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringProvider'>IConnectionStringProvider</a></span> connectionStringProvider)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IConnectionContext'>
<div class='header interface'>
<span >IConnectionContext</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Connection { <span class='keyword'>get</span>; } : <span class='type'>IDbConnection</span></li>
<li class='pubproperty code'>ConnectionString { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IConnectionContextFactory'>
<div class='header interface'>
<span >IConnectionContextFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateConnectionContext(<span class='keyword'>string</span> logicalGroup) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionContext'>IConnectionContext</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IConnectionStringInfo'>
<div class='header interface'>
<span >IConnectionStringInfo</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AdditionalSettings { <span class='keyword'>get</span>; } : <span class='type'>IReadOnlyDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>String</span>&gt;</li>
<li class='pubproperty code'>Database { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DatabaseFile { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DatabaseSuffix { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Default { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Environment { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Factory { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ImplicitLogicalGroups { <span class='keyword'>get</span>; } : <span class='type'>IEnumerable</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubproperty code'>LogicalGroups { <span class='keyword'>get</span>; } : <span class='type'>IEnumerable</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Password { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Server { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Username { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Clone(<span class='keyword'>string</span> server = <span class='keyword'>null</span>, <span class='keyword'>string</span> database = <span class='keyword'>null</span>, <span class='keyword'>string</span> databaseFile = <span class='keyword'>null</span>, <span class='keyword'>string</span> factory = <span class='keyword'>null</span>, <span class='keyword'>string</span> username = <span class='keyword'>null</span>, <span class='keyword'>string</span> password = <span class='keyword'>null</span>, <span class='keyword'>string</span> name = <span class='keyword'>null</span>, <span class='type'>String</span>[] logicalGroups = <span class='keyword'>null</span>, <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>String</span>&gt; additionalValues = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
<li class='pubmethod code'>CloneMaster(<span class='keyword'>string</span> server = <span class='keyword'>null</span>, <span class='keyword'>string</span> username = <span class='keyword'>null</span>, <span class='keyword'>string</span> password = <span class='keyword'>null</span>, <span class='keyword'>string</span> name = <span class='keyword'>null</span>, <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>String</span>&gt; additionalValues = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
<li class='pubmethod code'>ToConnectionString() : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IConnectionStringProvider'>
<div class='header interface'>
<span >IConnectionStringProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForLogicalGroup(<span class='keyword'>string</span> logicalGroup) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
<li class='pubmethod code'>GetNamedConnectionString(<span class='keyword'>string</span> name) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
<li class='pubmethod code'>GetRegisteredConnectionStrings() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span>&gt;</li>
<li class='pubmethod code'>Reload()</li>
<li class='pubmethod code'>TryGetForLogicalGroup(<span class='keyword'>string</span> logicalGroup, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionStringInfo) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>TryGetNamedConnectionString(<span class='keyword'>string</span> name, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionStringInfo) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IDataModule'>
<div class='header interface'>
<span >IDataModule</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetLogicalGrouping() : <span class='keyword'>string</span></li>
<li class='pubmethod code'>GetMigrations(<span class='type'><a class='type' href='#Fx.IEmbeddedFileProviderFactory'>IEmbeddedFileProviderFactory</a></span> embeddedFileProviderFactory) : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationDescriptor'>MigrationDescriptor</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IDataModuleWithContext'>
<div class='header interface'>
<span >IDataModuleWithContext</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IDataModule'>IDataModule</a></span>, <span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ConfigureDbContext(<span class='type'>IServiceCollection</span> services, <span class='type'>Action</span>&lt;<span class='type'>IServiceProvider</span>, <span class='type'>DbContextOptionsBuilder</span>&gt; optionAction = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>GetDbContextTypeInfo() : <span class='type'>TypeInfo</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IdentityResolverEntityMaterializerFactoryHook'>
<div class='header class'>
<span >IdentityResolverEntityMaterializerFactoryHook : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.EntityMaterializerFactoryHookBase'>EntityMaterializerFactoryHookBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>IdentityResolverEntityMaterializerFactoryHook(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityService'>IIdentityService</a></span> identityService)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IEntity'>
<div class='header interface'>
<span >IEntity</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IExtensibleObject'>IExtensibleObject</a></span></span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Created { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubproperty code'>CreatedDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DateTimeOffset</span></li>
<li class='pubproperty code'>CreatedUserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Deleted { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Hidden { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>ReadOnly { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Updated { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubproperty code'>UpdatedDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>UpdatedUserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMixin(<span class='type'>Type</span> type) : <span class='keyword'>object</span></li>
<li class='pubmethod code'>Mixin&lt;<span class='type'>T</span>&gt;() : <span class='type'>T</span></li>
<li class='pubmethod code'>SetIdentityResolver(<span class='type'>Func</span>&lt;<span class='type'>Int32</span>, <span class='type'>DateTimeOffset</span>, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt; resolver)</li>
<li class='pubmethod code'>SetMixin&lt;<span class='type'>T</span>&gt;(<span class='type'>T</span> instance)</li>
<li class='pubmethod code'>SetMixin(<span class='type'>Type</span> type, <span class='keyword'>object</span> instance)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IEntityGraph'>
<div class='header interface'>
<span >IEntityGraph</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Dependencies { <span class='keyword'>get</span>; } : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IEntityGraph'>IEntityGraph</a></span>&gt;</li>
<li class='pubproperty code'>Entity { <span class='keyword'>get</span>; } : <span class='type'>TypeInfo</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetFlattenedDependencies(<span class='type'>ISet</span>&lt;<span class='type'>TypeInfo</span>&gt; visits = <span class='keyword'>null</span>) : <span class='type'>IEnumerable</span>&lt;<span class='type'>TypeInfo</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IEntityGraphProvider'>
<div class='header interface'>
<span >IEntityGraphProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetEntityGraphsForDbContext(<span class='type'>Type</span> contextType) : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IEntityGraph'>IEntityGraph</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IEntityMapping'>
<div class='header interface noMembers'>
<span >IEntityMapping</span>
</div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IEntityMixinRequirementCache'>
<div class='header interface'>
<span >IEntityMixinRequirementCache</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetRequirements&lt;<span class='type'>T</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityMixinRequirement'>EntityMixinRequirement</a></span></li>
<li class='pubmethod code'>GetRequirements(<span class='type'>Type</span> entityType) : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityMixinRequirement'>EntityMixinRequirement</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IMirrorableEntity'>
<div class='header interface'>
<span >IMirrorableEntity</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span>, <span class='type'><a class='type' href='#Fx.IExtensibleObject'>IExtensibleObject</a></span></span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Mirror { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TEntity</span></li>
<li class='pubproperty code'>MirrorGuid { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Guid</span>&gt;</li>
<li class='pubproperty code'>MirrorId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.INodeEntity'>
<div class='header interface'>
<span >INodeEntity</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span>, <span class='type'><a class='type' href='#Fx.IExtensibleObject'>IExtensibleObject</a></span></span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Children { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubproperty code'>Parent { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>T</span></li>
<li class='pubproperty code'>ParentId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.INodeReader'>
<div class='header interface'>
<span >INodeReader</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetChildren(<span class='keyword'>int</span> id, <span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Boolean</span>&gt;&gt; predicate = <span class='keyword'>null</span>, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubmethod code'>GetParent(<span class='keyword'>int</span> id, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
<li class='pubmethod code'>GetParentAsync(<span class='keyword'>int</span> id, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.INodeWriter'>
<div class='header interface'>
<span >INodeWriter</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.INodeReader'>INodeReader</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Attach(<span class='keyword'>int</span> childId, <span class='keyword'>int</span> parentId)</li>
<li class='pubmethod code'>AttachAsync(<span class='keyword'>int</span> childId, <span class='keyword'>int</span> parentId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IPager'>
<div class='header interface'>
<span >IPager</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Aggregates { <span class='keyword'>get</span>; } : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt;</li>
<li class='pubproperty code'>CurrentPage { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>PageSize { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>TotalItems { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>TotalPages { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IPublishableEntity'>
<div class='header interface'>
<span >IPublishableEntity</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span>, <span class='type'><a class='type' href='#Fx.IExtensibleObject'>IExtensibleObject</a></span></span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>IsPublished { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Published { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubproperty code'>PublishedDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>PublishedUserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IReader'>
<div class='header interface'>
<span >IReader</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>QuerySet { <span class='keyword'>get</span>; } : <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Exists(<span class='keyword'>int</span> id) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>Exists(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Boolean</span>&gt;&gt; predicate) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>ExistsAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;</li>
<li class='pubmethod code'>ExistsAsync(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;</li>
<li class='pubmethod code'>Get(<span class='keyword'>int</span> id, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
<li class='pubmethod code'>Get(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
<li class='pubmethod code'>GetAll(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Boolean</span>&gt;&gt; predicate = <span class='keyword'>null</span>, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubmethod code'>GetAsync(<span class='keyword'>int</span> id, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubmethod code'>GetAsync(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubmethod code'>GetSingle(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
<li class='pubmethod code'>GetSingleAsync(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubmethod code'>StopTracking(<span class='type'>T</span> entity)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IRevisionableEntity'>
<div class='header interface'>
<span >IRevisionableEntity</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span>, <span class='type'><a class='type' href='#Fx.IExtensibleObject'>IExtensibleObject</a></span></span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Revision { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>RevisionTarget { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TEntity</span></li>
<li class='pubproperty code'>RevisionTargetId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IWriter'>
<div class='header interface'>
<span >IWriter</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Create(<span class='type'>T</span> entity) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CreateAsync(<span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubmethod code'>Delete(<span class='keyword'>int</span> id)</li>
<li class='pubmethod code'>DeleteAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>Update(<span class='type'>T</span> entity)</li>
<li class='pubmethod code'>UpdateAsync(<span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IWriterMixin'>
<div class='header interface'>
<span >IWriterMixin</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>OnActionAsync(<span class='keyword'>string</span> action, <span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnCreatedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnCreatingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnDeletedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnDeletingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnUpdatedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnUpdatingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IWriterMixinDispatcher'>
<div class='header interface noMembers'>
<span >IWriterMixinDispatcher</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriterMixin'>IWriterMixin</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.IWriterServicesFacade'>
<div class='header interface'>
<span >IWriterServicesFacade</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Clock { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span></li>
<li class='pubproperty code'>EventProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Events.IEventProvider'>IEventProvider</a></span></li>
<li class='pubproperty code'>WorkContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></li>
<li class='pubproperty code'>WriterMixinDispatcher { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterMixinDispatcher'>IWriterMixinDispatcher</a></span>&lt;<span class='type'>E</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.LogicalGroupAttribute'>
<div class='header class'>
<span >LogicalGroupAttribute : <span class='type'>Attribute</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>LogicalGroupAttribute(<span class='keyword'>string</span> group)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Group { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>DefaultLogicalGroup : <span class='type'><a class='type' href='#Fx.Fx.Data.LogicalGroupAttribute'>LogicalGroupAttribute</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.MixinChangeDetectorHook'>
<div class='header class'>
<span >MixinChangeDetectorHook : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.ChangeDetectorHookBase'>ChangeDetectorHookBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MixinChangeDetectorHook()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.MixinEntityMaterializerFactoryHook'>
<div class='header class'>
<span >MixinEntityMaterializerFactoryHook : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.EntityMaterializerFactoryHookBase'>EntityMaterializerFactoryHookBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MixinEntityMaterializerFactoryHook()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.MixinExpressionTransformerHook'>
<div class='header class'>
<span >MixinExpressionTransformerHook</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IExpressionTransformerHook'>IExpressionTransformerHook</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MixinExpressionTransformerHook()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetTransformers() : <span class='type'>IEnumerable</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>IModel</span>, <span class='type'>Expression</span>, <span class='type'>Expression</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.NodeEntityBase'>
<div class='header class'>
<span >NodeEntityBase : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.INodeEntity'>INodeEntity</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span>, <span class='type'><a class='type' href='#Fx.IExtensibleObject'>IExtensibleObject</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>NodeEntityBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Children { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubproperty code'>Parent { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>T</span></li>
<li class='pubproperty code'>ParentId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.NodeReader'>
<div class='header class'>
<span >NodeReader : <span class='type'><a class='type' href='#Fx.Fx.Data.Reader'>Reader</a></span>&lt;<span class='type'>C</span>, <span class='type'>E</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.INodeReader'>INodeReader</a></span>&lt;<span class='type'>E</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>E</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>E</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>NodeReader(<span class='type'>C</span> context, <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetChildren(<span class='keyword'>int</span> id, <span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>E</span>, <span class='type'>Boolean</span>&gt;&gt; predicate = <span class='keyword'>null</span>, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;</li>
<li class='pubmethod code'>GetParent(<span class='keyword'>int</span> id, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>E</span></li>
<li class='pubmethod code'>GetParentAsync(<span class='keyword'>int</span> id, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>E</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.NodeWriter'>
<div class='header class'>
<span >NodeWriter : <span class='type'><a class='type' href='#Fx.Fx.Data.NodeReader'>NodeReader</a></span>&lt;<span class='type'>C</span>, <span class='type'>E</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.INodeWriter'>INodeWriter</a></span>&lt;<span class='type'>E</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>E</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>E</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>E</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.INodeReader'>INodeReader</a></span>&lt;<span class='type'>E</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>NodeWriter(<span class='type'>C</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'>E</span>&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Attach(<span class='keyword'>int</span> childId, <span class='keyword'>int</span> parentId)</li>
<li class='pubmethod code'>AttachAsync(<span class='keyword'>int</span> childId, <span class='keyword'>int</span> parentId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>Create(<span class='type'>E</span> entity) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CreateAsync(<span class='type'>E</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubmethod code'>Delete(<span class='keyword'>int</span> id)</li>
<li class='pubmethod code'>DeleteAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>Update(<span class='type'>E</span> entity)</li>
<li class='pubmethod code'>UpdateAsync(<span class='type'>E</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>NodeAttachedAction : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Pager'>
<div class='header class'>
<span >Pager</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'>TItem</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Pager(<span class='type'>IEnumerable</span>&lt;<span class='type'>TItem</span>&gt; source, <span class='keyword'>int</span> currentPage, <span class='keyword'>int</span> pageSize, <span class='keyword'>int</span> totalItems, <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt; aggregates = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Aggregates { <span class='keyword'>get</span>; } : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt;</li>
<li class='pubproperty code'>CurrentPage { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>PageSize { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>TotalItems { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>TotalPages { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetEnumerator() : <span class='type'>IEnumerator</span>&lt;<span class='type'>TItem</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.PublishableEntityBase'>
<div class='header class'>
<span >PublishableEntityBase : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IPublishableEntity'>IPublishableEntity</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.IEntity'>IEntity</a></span>, <span class='type'><a class='type' href='#Fx.IExtensibleObject'>IExtensibleObject</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>PublishableEntityBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>IsPublished { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Published { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubproperty code'>PublishedDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>PublishedUserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Reader'>
<div class='header class'>
<span >Reader</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>E</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>E</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Reader(<span class='type'>C</span> context, <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Context { <span class='keyword'>get</span>; } : <span class='type'>C</span></li>
<li class='pubproperty code'>QuerySet { <span class='keyword'>get</span>; } : <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;</li>
<li class='pubproperty code'>Set { <span class='keyword'>get</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'>E</span>&gt;</li>
<li class='pubproperty code'>WorkContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Exists(<span class='keyword'>int</span> id) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>Exists(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>E</span>, <span class='type'>Boolean</span>&gt;&gt; predicate) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>ExistsAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;</li>
<li class='pubmethod code'>ExistsAsync(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>E</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;</li>
<li class='pubmethod code'>Get(<span class='keyword'>int</span> id, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>E</span></li>
<li class='pubmethod code'>Get(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>E</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>E</span></li>
<li class='pubmethod code'>GetAll(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>E</span>, <span class='type'>Boolean</span>&gt;&gt; predicate = <span class='keyword'>null</span>, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;</li>
<li class='pubmethod code'>GetAsync(<span class='keyword'>int</span> id, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>E</span>&gt;</li>
<li class='pubmethod code'>GetAsync(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>E</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>E</span>&gt;</li>
<li class='pubmethod code'>GetSingle(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>E</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>) : <span class='type'>E</span></li>
<li class='pubmethod code'>GetSingleAsync(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>E</span>, <span class='type'>Boolean</span>&gt;&gt; predicate, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>E</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>E</span>&gt;</li>
<li class='pubmethod code'>StopTracking(<span class='type'>E</span> entity)</li>
<li class='protmethod code'>ValidateDataSetPermission(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span> type)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.SchemaAttribute'>
<div class='header class'>
<span >SchemaAttribute : <span class='type'>Attribute</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SchemaAttribute()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DefaultValue { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Editable { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Ignored { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Required { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.SqlConnectionContext'>
<div class='header class'>
<span >SqlConnectionContext : <span class='type'><a class='type' href='#Fx.DisposableBase'>DisposableBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionContext'>IConnectionContext</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SqlConnectionContext(<span class='type'>SqlConnection</span> connection, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Connection { <span class='keyword'>get</span>; } : <span class='type'>SqlConnection</span></li>
<li class='pubproperty code'>ConnectionString { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.SqlConnectionContextFactory'>
<div class='header class'>
<span >SqlConnectionContextFactory</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionContextFactory'>IConnectionContextFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SqlConnectionContextFactory(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringProvider'>IConnectionStringProvider</a></span> connectionStringProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateConnectionContext(<span class='keyword'>string</span> logicalGroup) : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionContext'>IConnectionContext</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.SqlServerFlags'>
<div class='header class'>
<span >SqlServerFlags</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>DisableCrossDatabaseNavigationProperties : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.SqlServerModule'>
<div class='header class'>
<span >SqlServerModule : <span class='type'><a class='type' href='#Fx.ModuleBase'>ModuleBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SqlServerModule()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.StandardLogicalGroups'>
<div class='header class'>
<span >StandardLogicalGroups</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Commerce : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>Content : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>Core : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>CRM : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>Media : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.TransformMixinExpressionVisitor'>
<div class='header class'>
<span >TransformMixinExpressionVisitor : <span class='type'>ExpressionVisitorBase</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>TransformMixinExpressionVisitor(<span class='type'>IModel</span> model)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>TransformMixinMemberExpression(<span class='type'>MemberExpression</span> expression) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>TransformMixinMethodExpression(<span class='type'>MethodCallExpression</span> expression) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.VersionedMigrationAttribute'>
<div class='header class'>
<span >VersionedMigrationAttribute : <span class='type'>Attribute</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>VersionedMigrationAttribute(<span class='keyword'>string</span> version)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Writer'>
<div class='header class'>
<span >Writer : <span class='type'><a class='type' href='#Fx.Fx.Data.Reader'>Reader</a></span>&lt;<span class='type'>C</span>, <span class='type'>E</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>E</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>E</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>E</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Writer(<span class='type'>C</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'>E</span>&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='protproperty code'>AfterEntityChangedEvent { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.AfterEntityChangedEvent'>AfterEntityChangedEvent</a></span>&lt;<span class='type'>E</span>&gt;</li>
<li class='protproperty code'>AfterEntityCreatedEvent { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.AfterEntityCreatedEvent'>AfterEntityCreatedEvent</a></span>&lt;<span class='type'>E</span>&gt;</li>
<li class='protproperty code'>AfterEntityDeletedEvent { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.AfterEntityDeletedEvent'>AfterEntityDeletedEvent</a></span>&lt;<span class='type'>E</span>&gt;</li>
<li class='protproperty code'>AfterEntityUpdatedEvent { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.AfterEntityUpdatedEvent'>AfterEntityUpdatedEvent</a></span>&lt;<span class='type'>E</span>&gt;</li>
<li class='protproperty code'>BeforeEntityChangedEvent { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.BeforeEntityChangedEvent'>BeforeEntityChangedEvent</a></span>&lt;<span class='type'>E</span>&gt;</li>
<li class='protproperty code'>BeforeEntityCreatedEvent { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.BeforeEntityCreatedEvent'>BeforeEntityCreatedEvent</a></span>&lt;<span class='type'>E</span>&gt;</li>
<li class='protproperty code'>BeforeEntityDeletedEvent { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.BeforeEntityDeletedEvent'>BeforeEntityDeletedEvent</a></span>&lt;<span class='type'>E</span>&gt;</li>
<li class='protproperty code'>BeforeEntityUpdatedEvent { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.BeforeEntityUpdatedEvent'>BeforeEntityUpdatedEvent</a></span>&lt;<span class='type'>E</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Create(<span class='type'>E</span> entity) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CreateAsync(<span class='type'>E</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubmethod code'>Delete(<span class='keyword'>int</span> id)</li>
<li class='pubmethod code'>DeleteAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>Update(<span class='type'>E</span> entity)</li>
<li class='pubmethod code'>UpdateAsync(<span class='type'>E</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.WriterMixinBase'>
<div class='header class'>
<span >WriterMixinBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriterMixin'>IWriterMixin</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>WriterMixinBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>OnActionAsync(<span class='keyword'>string</span> action, <span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnCreatedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnCreatingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnDeletedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnDeletingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entit, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnUpdatedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnUpdatingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.WriterMixinDispatcher'>
<div class='header class'>
<span >WriterMixinDispatcher</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriterMixinDispatcher'>IWriterMixinDispatcher</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterMixin'>IWriterMixin</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>WriterMixinDispatcher(<span class='type'>IServiceProvider</span> serviceProvider, <span class='type'><a class='type' href='#Fx.Fx.Data.IEntityMixinRequirementCache'>IEntityMixinRequirementCache</a></span> entityRequirementCache)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>OnActionAsync(<span class='keyword'>string</span> action, <span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnCreatedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnCreatingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnDeletedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnDeletingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnUpdatedAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>OnUpdatingAsync(<span class='type'>DbContext</span> context, <span class='type'>T</span> entity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.WriterServicesFacade'>
<div class='header class'>
<span >WriterServicesFacade</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'>E</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>WriterServicesFacade(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock, <span class='type'><a class='type' href='#Fx.Fx.Events.IEventProvider'>IEventProvider</a></span> eventProvider, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterMixinDispatcher'>IWriterMixinDispatcher</a></span>&lt;<span class='type'>E</span>&gt; writerMixinDispatcher)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Clock { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span></li>
<li class='pubproperty code'>EventProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Events.IEventProvider'>IEventProvider</a></span></li>
<li class='pubproperty code'>WorkContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></li>
<li class='pubproperty code'>WriterMixinDispatcher { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterMixinDispatcher'>IWriterMixinDispatcher</a></span>&lt;<span class='type'>E</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Data.Builder'>
<h3 class='expander active'>Fx.Data.Builder</h3><div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.DefaultEntityMappingTypeBuilder'>
<div class='header class'>
<span >DefaultEntityMappingTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityMappingTypeBuilderBase'>EntityMappingTypeBuilderBase</a></span>&lt;<span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DefaultEntityMappingTypeBuilder()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.DefaultEntityTypeBuilder'>
<div class='header class'>
<span >DefaultEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DefaultEntityTypeBuilder()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.EntityAttribute'>
<div class='header class'>
<span >EntityAttribute : <span class='type'>Attribute</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EntityAttribute(<span class='keyword'>string</span> schema, <span class='keyword'>string</span> table)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Schema { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Table { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.EntityMappingTypeBuilderBase'>
<div class='header class'>
<span >EntityMappingTypeBuilderBase : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityMappingTypeBuilder'>IEntityMappingTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>EntityMappingTypeBuilderBase(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema, <span class='keyword'>string</span> table)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildEntity(<span class='type'>EntityTypeBuilder</span>&lt;<span class='type'>T</span>&gt; builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>
<div class='header class'>
<span >EntityTypeBuilderBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>EntityTypeBuilderBase(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema, <span class='keyword'>string</span> table)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>LogicalGroup { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Schema { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Table { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildModel(<span class='type'>ModelBuilder</span> modelBuilder, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span> cache)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>
<div class='header class'>
<span >EntityTypeBuilderBase : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>EntityTypeBuilderBase(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema, <span class='keyword'>string</span> table)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildEntity(<span class='type'>EntityTypeBuilder</span>&lt;<span class='type'>T</span>&gt; entityBuilder)</li>
<li class='pubmethod code'>BuildEntityDomain(<span class='type'>EntityTypeBuilder</span>&lt;<span class='type'>T</span>&gt; builder)</li>
<li class='pubmethod code'>BuildEntityKey(<span class='type'>EntityTypeBuilder</span>&lt;<span class='type'>T</span>&gt; builder)</li>
<li class='pubmethod code'>BuildEntityRoot(<span class='type'>EntityTypeBuilder</span>&lt;<span class='type'>T</span>&gt; builder)</li>
<li class='pubmethod code'>BuildMixins(<span class='type'>EntityTypeBuilder</span>&lt;<span class='type'>T</span>&gt; builder, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span> cache)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderExtensions'>
<div class='header class'>
<span >EntityTypeBuilderExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>Expand&lt;<span class='type'>T</span>, <span class='type'>M</span>&gt;(<span class='type'>EntityTypeBuilder</span> builder) : <span class='type'>EntityTypeBuilder</span></li>
<li class='pubmethod code'><span class='static'></span>Mixin&lt;<span class='type'>T</span>&gt;(<span class='type'>EntityTypeBuilder</span> entityTypeBuilder) : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.MixinTypeBuilder'>MixinTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.IEntityMappingTypeBuilder'>
<div class='header interface noMembers'>
<span >IEntityMappingTypeBuilder</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></span></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>
<div class='header interface'>
<span >IEntityTypeBuilder</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>LogicalGroup { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Schema { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Table { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>
<div class='header interface'>
<span >IEntityTypeBuilder</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildEntity(<span class='type'>EntityTypeBuilder</span>&lt;<span class='type'>T</span>&gt; entityBuilder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>
<div class='header interface noMembers'>
<span >IMixinEntityTypeBuilder</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span></span></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>
<div class='header interface'>
<span >IMixinEntityTypeBuilder</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildMixin(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.MixinTypeBuilder'>MixinTypeBuilder</a></span>&lt;<span class='type'>M</span>&gt; builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>
<div class='header interface'>
<span >IMixinEntityTypeBuilder</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>MixinType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>
<div class='header interface'>
<span >IModelBuilder</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildModel(<span class='type'>ModelBuilder</span> modelBuilder, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span> cache)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>
<div class='header interface'>
<span >IModelBuilderCache</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetEntityMappingTypeModelBuilder&lt;<span class='type'>T</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></li>
<li class='pubmethod code'>GetEntityMappingTypeModelBuilder(<span class='type'>Type</span> type) : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></li>
<li class='pubmethod code'>GetEntityMixinTypeBuilders&lt;<span class='type'>T</span>&gt;() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;&gt;</li>
<li class='pubmethod code'>GetEntityMixinTypeBuilders(<span class='type'>Type</span> entityType) : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span>&gt;</li>
<li class='pubmethod code'>GetEntityTypeBuilder(<span class='keyword'>string</span> schema, <span class='keyword'>string</span> table) : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span></li>
<li class='pubmethod code'>GetEntityTypeModelBuilder&lt;<span class='type'>T</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></li>
<li class='pubmethod code'>GetEntityTypeModelBuilder(<span class='type'>Type</span> type) : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></li>
<li class='pubmethod code'>Store(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span> builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.IModelBuilderProvider'>
<div class='header interface'>
<span >IModelBuilderProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetModelBuilders() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.MixinEntityTypeBuilderBase'>
<div class='header class'>
<span >MixinEntityTypeBuilderBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span>&lt;<span class='type'>T</span>, <span class='type'>M</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IEntityTypeBuilder'>IEntityTypeBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>MixinEntityTypeBuilderBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildEntity(<span class='type'>EntityTypeBuilder</span>&lt;<span class='type'>T</span>&gt; entityBuilder)</li>
<li class='pubmethod code'>BuildMixin(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.MixinTypeBuilder'>MixinTypeBuilder</a></span>&lt;<span class='type'>M</span>&gt; builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.MixinTypeBuilder'>
<div class='header class'>
<span >MixinTypeBuilder</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Property&lt;<span class='type'>P</span>&gt;(<span class='type'>Expression</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>P</span>&gt;&gt; propertyExpression) : <span class='type'>PropertyBuilder</span>&lt;<span class='type'>P</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.ModelBuilderCache'>
<div class='header class'>
<span >ModelBuilderCache</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderCache'>IModelBuilderCache</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModelBuilderCache(<span class='type'>IHostingEnvironment</span> hostingEnvironment)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetEntityMappingTypeModelBuilder&lt;<span class='type'>T</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></li>
<li class='pubmethod code'>GetEntityMappingTypeModelBuilder(<span class='type'>Type</span> type) : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></li>
<li class='pubmethod code'>GetEntityMixinTypeBuilders&lt;<span class='type'>T</span>&gt;() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span>&lt;<span class='type'>T</span>&gt;&gt;</li>
<li class='pubmethod code'>GetEntityMixinTypeBuilders(<span class='type'>Type</span> entityType) : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IMixinEntityTypeBuilder'>IMixinEntityTypeBuilder</a></span>&gt;</li>
<li class='pubmethod code'>GetEntityTypeBuilder(<span class='keyword'>string</span> schema, <span class='keyword'>string</span> table) : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span></li>
<li class='pubmethod code'>GetEntityTypeModelBuilder&lt;<span class='type'>T</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></li>
<li class='pubmethod code'>GetEntityTypeModelBuilder(<span class='type'>Type</span> type) : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span></li>
<li class='pubmethod code'>Store(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span> builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.ModelBuilderProviderBase'>
<div class='header class'>
<span >ModelBuilderProviderBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilderProvider'>IModelBuilderProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>ModelBuilderProviderBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>AddBuilder&lt;<span class='type'>T</span>&gt;()</li>
<li class='pubmethod code'>GetModelBuilders() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.IModelBuilder'>IModelBuilder</a></span>&gt;</li>
<li class='protmethod code'>Setup()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Builder.NodeEntityTypeBuilderBase'>
<div class='header class'>
<span >NodeEntityTypeBuilderBase : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>NodeEntityTypeBuilderBase(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema, <span class='keyword'>string</span> table)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildEntityNode(<span class='type'>EntityTypeBuilder</span>&lt;<span class='type'>T</span>&gt; builder)</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Data.Hooks'>
<h3 class='expander active'>Fx.Data.Hooks</h3><div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.ChangeDetectorHookBase'>
<div class='header class'>
<span >ChangeDetectorHookBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IChangeDetectionHook'>IChangeDetectionHook</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>ChangeDetectorHookBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>DetectedChanges(<span class='type'>IChangeDetector</span> changeDetector, <span class='type'>IStateManager</span> stateManager)</li>
<li class='pubmethod code'>DetectedEntityChanges(<span class='type'>IChangeDetector</span> changeDetector, <span class='type'>IStateManager</span> stateManager, <span class='type'>InternalEntityEntry</span> entry)</li>
<li class='pubmethod code'>DetectingChanges(<span class='type'>IChangeDetector</span> changeDetector, <span class='type'>IStateManager</span> stateManager)</li>
<li class='pubmethod code'>DetectingEntityChanges(<span class='type'>IChangeDetector</span> changeDetector, <span class='type'>IStateManager</span> stateManager, <span class='type'>InternalEntityEntry</span> entry)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.EntityMaterializerFactoryHookBase'>
<div class='header class'>
<span >EntityMaterializerFactoryHookBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IEntityMaterializerFactoryHook'>IEntityMaterializerFactoryHook</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EntityMaterializerFactoryHookBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFactoryExpression(<span class='type'>IEntityType</span> entityType, <span class='type'>LambdaExpression</span> previousFactory) : <span class='type'>LambdaExpression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.EntityMaterializerHookBase'>
<div class='header class'>
<span >EntityMaterializerHookBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IEntityMaterializerHook'>IEntityMaterializerHook</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>EntityMaterializerHookBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateReadValueExpression(<span class='type'>Expression</span> valueBuffer, <span class='type'>Type</span> type, <span class='keyword'>int</span> index, <span class='type'>IPropertyBase</span> property, <span class='type'>Func</span>&lt;<span class='type'>Expression</span>, <span class='type'>Type</span>, <span class='type'>Int32</span>, <span class='type'>IPropertyBase</span>, <span class='type'>Expression</span>&gt; defaultExpressionFactory) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.ExtendedChangeDetector'>
<div class='header class'>
<span >ExtendedChangeDetector : <span class='type'>ChangeDetector</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExtendedChangeDetector(<span class='type'>IDiagnosticsLogger</span>&lt;<span class='type'>ChangeTracking</span>&gt; logger, <span class='type'>ILoggingOptions</span> loggingOptions, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHookProvider'>IHookProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IChangeDetectionHook'>IChangeDetectionHook</a></span>&gt; hooks)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.ExtendedEntityMaterializerSource'>
<div class='header class'>
<span >ExtendedEntityMaterializerSource : <span class='type'>EntityMaterializerSource</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExtendedEntityMaterializerSource(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHookProvider'>IHookProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IEntityMaterializerHook'>IEntityMaterializerHook</a></span>&gt; hooks)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.ExtendedMaterializerFactory'>
<div class='header class'>
<span >ExtendedMaterializerFactory : <span class='type'>MaterializerFactory</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExtendedMaterializerFactory(<span class='type'>IEntityMaterializerSource</span> entityMaterializerSource, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHookProvider'>IHookProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IEntityMaterializerFactoryHook'>IEntityMaterializerFactoryHook</a></span>&gt; hooks, <span class='type'><a class='type' href='#Fx.Fx.Data.IEntityMixinRequirementCache'>IEntityMixinRequirementCache</a></span> entityMixinRequirementCache)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.ExtendedRelationalQueryModelVisitor'>
<div class='header class'>
<span >ExtendedRelationalQueryModelVisitor : <span class='type'>RelationalQueryModelVisitor</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExtendedRelationalQueryModelVisitor(<span class='type'>EntityQueryModelVisitorDependencies</span> entityQueryModelVisitorDependencies, <span class='type'>RelationalQueryModelVisitorDependencies</span> relationalQueryModelVisitorDependencies, <span class='type'>RelationalQueryCompilationContext</span> queryCompilationContext, <span class='type'>RelationalQueryModelVisitor</span> parentQueryModelVisitor, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHookProvider'>IHookProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IExpressionTransformerHook'>IExpressionTransformerHook</a></span>&gt; hooks)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.ExtendedRelationalQueryModelVisitorFactory'>
<div class='header class'>
<span >ExtendedRelationalQueryModelVisitorFactory : <span class='type'>RelationalQueryModelVisitorFactory</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExtendedRelationalQueryModelVisitorFactory(<span class='type'>EntityQueryModelVisitorDependencies</span> entityQueryModelVisitorDependencies, <span class='type'>RelationalQueryModelVisitorDependencies</span> relationalQueryModelVisitorDependencies, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHookProvider'>IHookProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IExpressionTransformerHook'>IExpressionTransformerHook</a></span>&gt; hooks)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.ExtendedSqlServerCompositeMethodCallTranslator'>
<div class='header class'>
<span >ExtendedSqlServerCompositeMethodCallTranslator : <span class='type'>SqlServerCompositeMethodCallTranslator</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExtendedSqlServerCompositeMethodCallTranslator(<span class='type'>RelationalCompositeMethodCallTranslatorDependencies</span> dependencies, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHookProvider'>IHookProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IMethodCallTranslatorProviderHook'>IMethodCallTranslatorProviderHook</a></span>&gt; hooks)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.ExtendedSqlServerTypeMappingSource'>
<div class='header class'>
<span >ExtendedSqlServerTypeMappingSource : <span class='type'>SqlServerTypeMappingSource</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExtendedSqlServerTypeMappingSource(<span class='type'>TypeMappingSourceDependencies</span> dependencies, <span class='type'>RelationalTypeMappingSourceDependencies</span> relationalDependencies, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHookProvider'>IHookProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.ITypeMapperHook'>ITypeMapperHook</a></span>&gt; hooks)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.HookProvider'>
<div class='header class'>
<span >HookProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHookProvider'>IHookProvider</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>HookProvider(<span class='type'>IEnumerable</span>&lt;<span class='type'>T</span>&gt; hooks)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetEnumerator() : <span class='type'>IEnumerator</span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubmethod code'>GetHook(<span class='type'>Type</span> type) : <span class='type'>T</span></li>
<li class='pubmethod code'>GetHooks(<span class='type'>Type</span> type) : <span class='type'>T</span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.IChangeDetectionHook'>
<div class='header interface'>
<span >IChangeDetectionHook</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>DetectedChanges(<span class='type'>IChangeDetector</span> changeDetector, <span class='type'>IStateManager</span> stateManager)</li>
<li class='pubmethod code'>DetectedEntityChanges(<span class='type'>IChangeDetector</span> changeDetector, <span class='type'>IStateManager</span> stateManager, <span class='type'>InternalEntityEntry</span> entry)</li>
<li class='pubmethod code'>DetectingChanges(<span class='type'>IChangeDetector</span> changeDetector, <span class='type'>IStateManager</span> stateManager)</li>
<li class='pubmethod code'>DetectingEntityChanges(<span class='type'>IChangeDetector</span> changeDetector, <span class='type'>IStateManager</span> stateManager, <span class='type'>InternalEntityEntry</span> entry)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.IEntityMaterializerFactoryHook'>
<div class='header interface'>
<span >IEntityMaterializerFactoryHook</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFactoryExpression(<span class='type'>IEntityType</span> entityType, <span class='type'>LambdaExpression</span> previousFactory) : <span class='type'>LambdaExpression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.IEntityMaterializerHook'>
<div class='header interface'>
<span >IEntityMaterializerHook</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateReadValueExpression(<span class='type'>Expression</span> valueBuffer, <span class='type'>Type</span> type, <span class='keyword'>int</span> index, <span class='type'>IPropertyBase</span> property, <span class='type'>Func</span>&lt;<span class='type'>Expression</span>, <span class='type'>Type</span>, <span class='type'>Int32</span>, <span class='type'>IPropertyBase</span>, <span class='type'>Expression</span>&gt; defaultExpressionFactory) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.IExpressionTransformerHook'>
<div class='header interface'>
<span >IExpressionTransformerHook</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetTransformers() : <span class='type'>IEnumerable</span>&lt;<span class='type'>Func</span>&lt;<span class='type'>IModel</span>, <span class='type'>Expression</span>, <span class='type'>Expression</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.IHook'>
<div class='header interface'>
<span >IHook</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.IHookProvider'>
<div class='header interface'>
<span >IHookProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetHook(<span class='type'>Type</span> type) : <span class='type'>T</span></li>
<li class='pubmethod code'>GetHooks(<span class='type'>Type</span> type) : <span class='type'>T</span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.IMethodCallTranslatorProviderHook'>
<div class='header interface'>
<span >IMethodCallTranslatorProviderHook</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMethodCallTranslators() : <span class='type'>IEnumerable</span>&lt;<span class='type'>IMethodCallTranslator</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.IStateManagerEntryHook'>
<div class='header interface'>
<span >IStateManagerEntryHook</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>OnCreate(<span class='type'>IStateManager</span> stateManager, <span class='type'>IEntityType</span> entityType, <span class='keyword'>object</span> entity)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.ITypeMapperHook'>
<div class='header interface'>
<span >ITypeMapperHook</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetTypeMapping() : <span class='type'>RelationalTypeMapping</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.MethodCallTranslatorProviderHookBase'>
<div class='header class'>
<span >MethodCallTranslatorProviderHookBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IMethodCallTranslatorProviderHook'>IMethodCallTranslatorProviderHook</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>MethodCallTranslatorProviderHookBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMethodCallTranslators() : <span class='type'>IEnumerable</span>&lt;<span class='type'>IMethodCallTranslator</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Hooks.TypeMapperHookBase'>
<div class='header class'>
<span >TypeMapperHookBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.ITypeMapperHook'>ITypeMapperHook</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Hooks.IHook'>IHook</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>TypeMapperHookBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetTypeMapping() : <span class='type'>RelationalTypeMapping</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Data.Migrations'>
<h3 class='expander active'>Fx.Data.Migrations</h3><div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.FactoryScript'>
<div class='header class'>
<span >FactoryScript</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FactoryScript()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Default { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>FactoryName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ModuleName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ScriptPath { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.IMigration'>
<div class='header interface'>
<span >IMigration</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMigrationScripts() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationScript'>MigrationScript</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.IMigrationCache'>
<div class='header interface'>
<span >IMigrationCache</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetAvailableMigrations() : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationDescriptor'>MigrationDescriptor</a></span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.IMigrationService'>
<div class='header interface'>
<span >IMigrationService</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DataVersion { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ApplyMigrationStructuresAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>ApplyMigrationStructuresVersionAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>CheckDatabaseExistsAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;</li>
<li class='pubmethod code'>CreateFileDatabaseAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>CreateServerDatabaseAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='keyword'>string</span> factoryName = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>DeleteDatabaseAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>GetAllMigrationStatusesAsync(<span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationStatus'>MigrationStatus</a></span>&gt;&gt;</li>
<li class='pubmethod code'>GetAvailableMigrations() : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationDescriptor'>MigrationDescriptor</a></span>[]</li>
<li class='pubmethod code'>GetFactoryScripts() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.FactoryScript'>FactoryScript</a></span>&gt;</li>
<li class='pubmethod code'>GetMigrationHistoryAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationHistoryItem'>MigrationHistoryItem</a></span>&gt;&gt;</li>
<li class='pubmethod code'>GetMigrationStatusAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationStatus'>MigrationStatus</a></span>&gt;</li>
<li class='pubmethod code'>GetMigrationStructureVersionAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span>&gt;</li>
<li class='pubmethod code'>PerformMigrationAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='keyword'>string</span> factoryName = <span class='keyword'>null</span>, <span class='type'>ILogger</span> logger = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>PerformMigrationAsync(<span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>String</span>&gt; factoryNames = <span class='keyword'>null</span>, <span class='type'>ILogger</span> logger = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>SetMigrationItemInstalledAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> moduleName, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version, <span class='keyword'>string</span> scriptFileName, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.Migration'>
<div class='header class'>
<span >Migration</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.IMigration'>IMigration</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Migration(<span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationScript'>MigrationScript</a></span>[] scriptFiles)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMigrationScripts() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationScript'>MigrationScript</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.MigrationBase'>
<div class='header class'>
<span >MigrationBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.IMigration'>IMigration</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>MigrationBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetMigrationScripts() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationScript'>MigrationScript</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.MigrationCache'>
<div class='header class'>
<span >MigrationCache</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.IMigrationCache'>IMigrationCache</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MigrationCache(<span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span> host, <span class='type'><a class='type' href='#Fx.IEmbeddedFileProviderFactory'>IEmbeddedFileProviderFactory</a></span> embeddedFileProviderFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetAvailableMigrations() : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationDescriptor'>MigrationDescriptor</a></span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.MigrationDescriptor'>
<div class='header class'>
<span >MigrationDescriptor</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MigrationDescriptor()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>LogicalGroup { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Migration { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.IMigration'>IMigration</a></span></li>
<li class='pubproperty code'>Module { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IDataModule'>IDataModule</a></span></li>
<li class='pubproperty code'>ModuleName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.MigrationHistoryItem'>
<div class='header class'>
<span >MigrationHistoryItem</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MigrationHistoryItem()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DateTimeOffset</span></li>
<li class='pubproperty code'>Group { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Guid</span></li>
<li class='pubproperty code'>Module { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Script { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.MigrationScript'>
<div class='header class'>
<span >MigrationScript : <span class='type'>ValueType</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MigrationScript(<span class='keyword'>string</span> moduleName, <span class='keyword'>string</span> fileName, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>FileName { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Global { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>HasValue { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>LogicalGroupOverride { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ModuleName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Version { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationScript'>MigrationScript</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.MigrationStatus'>
<div class='header class'>
<span >MigrationStatus</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MigrationStatus()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ConnectionString { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span></li>
<li class='pubproperty code'>DatabaseExists { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>HasPendingMigrations { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>InstalledModules { <span class='keyword'>get</span>; } : <span class='type'>IReadOnlyDictionary</span>&lt;<span class='type'>String</span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.ModuleMigrationStatus'>ModuleMigrationStatus</a></span>&gt;</li>
<li class='pubproperty code'>LogicalGroups { <span class='keyword'>get</span>; } : <span class='type'>IReadOnlyList</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubproperty code'>MigrationDatabaseObjectsExists { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>MigrationDatabaseObjectsVersion { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
<li class='pubproperty code'>PendingModules { <span class='keyword'>get</span>; } : <span class='type'>IReadOnlyDictionary</span>&lt;<span class='type'>String</span>, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.ModuleMigrationStatus'>ModuleMigrationStatus</a></span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>AddLogicalGroup(<span class='keyword'>string</span> group)</li>
<li class='pubmethod code'>AddMigrationStatus(<span class='keyword'>string</span> moduleName, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.ModuleMigrationStatus'>ModuleMigrationStatus</a></span> status)</li>
<li class='pubmethod code'>AddPendingMigrationStatus(<span class='keyword'>string</span> moduleName, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.ModuleMigrationStatus'>ModuleMigrationStatus</a></span> status)</li>
<li class='pubmethod code'>GetPendingModuleMigrations() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.ModuleMigrationStatus'>ModuleMigrationStatus</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.MigrationTool'>
<div class='header class'>
<span >MigrationTool</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Tools.ITool'>ITool</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MigrationTool()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildCommandLine(<span class='type'><a class='type' href='#Fx.Fx.Tools.CommandLineApplication'>CommandLineApplication</a></span> root)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.ModuleExtensions'>
<div class='header class'>
<span >ModuleExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>GetMigrations(<span class='type'><a class='type' href='#Fx.IModule'>IModule</a></span> module, <span class='type'><a class='type' href='#Fx.IEmbeddedFileProviderFactory'>IEmbeddedFileProviderFactory</a></span> embeddedFileProviderFactory) : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationDescriptor'>MigrationDescriptor</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.ModuleMigrationStatus'>
<div class='header class'>
<span >ModuleMigrationStatus</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModuleMigrationStatus()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>CurrentAvailableVersion { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
<li class='pubproperty code'>CurrentInstalledScripts { <span class='keyword'>get</span>; } : <span class='type'>IReadOnlyList</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationScript'>MigrationScript</a></span>&gt;</li>
<li class='pubproperty code'>CurrentInstalledVersion { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
<li class='pubproperty code'>LogicalGroup { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ModuleName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>PendingScripts { <span class='keyword'>get</span>; } : <span class='type'>IReadOnlyList</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationScript'>MigrationScript</a></span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>AddPendingScript(<span class='keyword'>string</span> script, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version)</li>
<li class='pubmethod code'>AddScript(<span class='keyword'>string</span> script, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.SqlServerMigrationService'>
<div class='header class'>
<span >SqlServerMigrationService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.IMigrationService'>IMigrationService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SqlServerMigrationService(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringProvider'>IConnectionStringProvider</a></span> connectionStringProvider, <span class='type'><a class='type' href='#Fx.IEmbeddedFileProviderFactory'>IEmbeddedFileProviderFactory</a></span> embeddedFileProviderFactory, <span class='type'><a class='type' href='#Fx.IModuleProvider'>IModuleProvider</a></span> moduleProvider, <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.IMigrationCache'>IMigrationCache</a></span> migrationCache)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DataVersion { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ApplyMigrationStructuresAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>ApplyMigrationStructuresSuffixAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>ApplyMigrationStructuresVersionAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>CheckDatabaseExistsAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;</li>
<li class='pubmethod code'>CreateFileDatabaseAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>CreateServerDatabaseAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='keyword'>string</span> factoryName = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>DeleteDatabaseAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>GetAllMigrationStatusesAsync(<span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationStatus'>MigrationStatus</a></span>&gt;&gt;</li>
<li class='pubmethod code'>GetAvailableMigrations() : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationDescriptor'>MigrationDescriptor</a></span>[]</li>
<li class='pubmethod code'>GetDataPath(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubmethod code'>GetFactoryScripts() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.FactoryScript'>FactoryScript</a></span>&gt;</li>
<li class='pubmethod code'>GetMigrationHistoryAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationHistoryItem'>MigrationHistoryItem</a></span>&gt;&gt;</li>
<li class='pubmethod code'>GetMigrationStatusAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationStatus'>MigrationStatus</a></span>&gt;</li>
<li class='pubmethod code'>GetMigrationStatusForDatabaseAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Migrations.MigrationStatus'>MigrationStatus</a></span>&gt;</li>
<li class='pubmethod code'>GetMigrationStructureVersionAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span>&gt;</li>
<li class='pubmethod code'>PerformMigrationAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='keyword'>string</span> factoryName = <span class='keyword'>null</span>, <span class='type'>ILogger</span> logger = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>PerformMigrationAsync(<span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>String</span>&gt; factoryNames = <span class='keyword'>null</span>, <span class='type'>ILogger</span> logger = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>SetMigrationItemInstalledAsync(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionStringInfo'>IConnectionStringInfo</a></span> connectionString, <span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> moduleName, <span class='type'><a class='type' href='#Fx.SemanticVersion'>SemanticVersion</a></span> version, <span class='keyword'>string</span> scriptFileName, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Data.Migrations.Commands'>
<h3 class='expander active'>Fx.Data.Migrations.Commands</h3><div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.Fx.Data.Migrations.Commands.MigrationCommand'>
<div class='header class'>
<span >MigrationCommand : <span class='type'><a class='type' href='#Fx.Fx.Tools.CommandBase'>CommandBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MigrationCommand()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Data.Fx.Data.Migrations.Fx.Data.Migrations.Commands.StatusCommand'>
<div class='header class'>
<span >StatusCommand : <span class='type'><a class='type' href='#Fx.Fx.Tools.CommandBase'>CommandBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>StatusCommand()</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Events'>
<h3 class='expander active'>Fx.Events</h3><div>
<div class='objectBox' id='Fx.Fx.Events.EventBase'>
<div class='header class'>
<span >EventBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Events.IEvent'>IEvent</a></span>&lt;<span class='type'>P</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Events.IEvent'>IEvent</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>EventBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>EventProvider { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Events.IEventProvider'>IEventProvider</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetExternalSubscribers() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Events.IEventSubscriber'>IEventSubscriber</a></span>&lt;<span class='type'>T</span>, <span class='type'>P</span>&gt;&gt;</li>
<li class='pubmethod code'>PublishAsync(<span class='type'>P</span> payload, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>Subscribe(<span class='type'>Func</span>&lt;<span class='type'>P</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&gt; publicationFunc, <span class='type'>Func</span>&lt;<span class='type'>P</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;&gt; filterFunc = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span></li>
<li class='pubmethod code'>Unsubscribe(<span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span> token)</li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='protfield code'>_subscriptions : <span class='type'>ConcurrentDictionary</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Events.IEventSubscription'>IEventSubscription</a></span>&lt;<span class='type'>P</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Events.EventProvider'>
<div class='header class'>
<span >EventProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Events.IEventProvider'>IEventProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EventProvider(<span class='type'>IServiceProvider</span> serviceProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateEventSubscription&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span> token, <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&gt; notificationFunc, <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;&gt; filterFunc = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Events.IEventSubscription'>IEventSubscription</a></span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubmethod code'>GetEvent&lt;<span class='type'>T</span>&gt;() : <span class='type'>T</span></li>
<li class='pubmethod code'>GetEvent&lt;<span class='type'>T</span>&gt;(<span class='type'>Func</span>&lt;<span class='type'>T</span>&gt; factory) : <span class='type'>T</span></li>
<li class='pubmethod code'>GetExternalEventSubscribers&lt;<span class='type'>T</span>, <span class='type'>P</span>&gt;() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Events.IEventSubscriber'>IEventSubscriber</a></span>&lt;<span class='type'>T</span>, <span class='type'>P</span>&gt;&gt;</li>
<li class='pubmethod code'>SetServiceProvider(<span class='type'>IServiceProvider</span> serviceProvider)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Events.EventSubscriberBase'>
<div class='header class'>
<span >EventSubscriberBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Events.IEventSubscriber'>IEventSubscriber</a></span>&lt;<span class='type'>T</span>, <span class='type'>P</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>EventSubscriberBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>FilterAsync(<span class='type'>P</span> payload, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;</li>
<li class='pubmethod code'>NotifyAsync(<span class='type'>P</span> payload, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Events.EventSubscription'>
<div class='header class'>
<span >EventSubscription</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Events.IEventSubscription'>IEventSubscription</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EventSubscription(<span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span> token, <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&gt; notificationFunc, <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;&gt; filterFunc = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>FilterFunc { <span class='keyword'>get</span>; } : <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;&gt;</li>
<li class='pubproperty code'>IsAlive { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>NotificationFunc { <span class='keyword'>get</span>; } : <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&gt;</li>
<li class='pubproperty code'>Token { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Events.IEvent'>
<div class='header interface'>
<span >IEvent</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>EventProvider { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Events.IEventProvider'>IEventProvider</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Events.IEvent'>
<div class='header interface'>
<span >IEvent</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Events.IEvent'>IEvent</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>PublishAsync(<span class='type'>T</span> payload, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>Subscribe(<span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&gt; notificationFunc, <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;&gt; filterFunc = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span></li>
<li class='pubmethod code'>Unsubscribe(<span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span> token)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Events.IEventProvider'>
<div class='header interface'>
<span >IEventProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateEventSubscription&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span> token, <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&gt; notificationFunc, <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;&gt; filterFunc = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Events.IEventSubscription'>IEventSubscription</a></span>&lt;<span class='type'>T</span>&gt;</li>
<li class='pubmethod code'>GetEvent&lt;<span class='type'>T</span>&gt;() : <span class='type'>T</span></li>
<li class='pubmethod code'>GetEvent&lt;<span class='type'>T</span>&gt;(<span class='type'>Func</span>&lt;<span class='type'>T</span>&gt; factory) : <span class='type'>T</span></li>
<li class='pubmethod code'>GetExternalEventSubscribers&lt;<span class='type'>T</span>, <span class='type'>P</span>&gt;() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Events.IEventSubscriber'>IEventSubscriber</a></span>&lt;<span class='type'>T</span>, <span class='type'>P</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Events.IEventSubscriber'>
<div class='header interface'>
<span >IEventSubscriber</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>FilterAsync(<span class='type'>P</span> payload, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;</li>
<li class='pubmethod code'>NotifyAsync(<span class='type'>P</span> payload, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Events.IEventSubscription'>
<div class='header interface'>
<span >IEventSubscription</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>FilterFunc { <span class='keyword'>get</span>; } : <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;&gt;</li>
<li class='pubproperty code'>IsAlive { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>NotificationFunc { <span class='keyword'>get</span>; } : <span class='type'>Func</span>&lt;<span class='type'>T</span>, <span class='type'>CancellationToken</span>, <span class='type'>Task</span>&gt;</li>
<li class='pubproperty code'>Token { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Events.SubscriptionToken'>
<div class='header class'>
<span >SubscriptionToken : <span class='type'><a class='type' href='#Fx.DisposableAction'>DisposableAction</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SubscriptionToken(<span class='type'>Action</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Events.SubscriptionToken'>SubscriptionToken</a></span>&gt; unsubscribeAction)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Token { <span class='keyword'>get</span>; } : <span class='type'>Guid</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Fallback'>
<h3 class='expander active'>Fx.Fallback</h3><div>
<div class='objectBox' id='Fx.Fx.Fallback.FallbackMiddleware'>
<div class='header class'>
<span >FallbackMiddleware</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FallbackMiddleware(<span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Fallback.FallbackMiddlewareOptions'>FallbackMiddlewareOptions</a></span>&gt; options)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>InvokeAsync(<span class='type'>HttpContext</span> context, <span class='type'>RequestDelegate</span> next) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Fallback.FallbackMiddlewareOptions'>
<div class='header class'>
<span >FallbackMiddlewareOptions</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FallbackMiddlewareOptions()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>File { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>IgnorePaths { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>String</span>[]</li>
</ul></div>
</div>
</div></section>
<section id='Fx.FileSystem'>
<h3 class='expander active'>Fx.FileSystem</h3><div>
<div class='objectBox' id='Fx.Fx.FileSystem.CompositeContentTypeProvider'>
<div class='header class'>
<span >CompositeContentTypeProvider</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CompositeContentTypeProvider(<span class='type'>IContentTypeProvider</span>[] contentTypeProviders)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>TryGetContentType(<span class='keyword'>string</span> subpath, <span class='keyword'>string</span> contentType) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.FileSystem.EnumerableDirectoryContents'>
<div class='header class'>
<span >EnumerableDirectoryContents</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EnumerableDirectoryContents(<span class='type'>IEnumerable</span>&lt;<span class='type'>IFileInfo</span>&gt; entries)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Exists { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetEnumerator() : <span class='type'>IEnumerator</span>&lt;<span class='type'>IFileInfo</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.FileSystem.ModuleFileProvider'>
<div class='header class'>
<span >ModuleFileProvider</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModuleFileProvider(<span class='type'><a class='type' href='#Fx.IModuleProvider'>IModuleProvider</a></span> moduleProvider, <span class='type'><a class='type' href='#Fx.IEmbeddedFileProviderFactory'>IEmbeddedFileProviderFactory</a></span> embeddedFileProviderFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetDirectoryContents(<span class='keyword'>string</span> subpath) : <span class='type'>IDirectoryContents</span></li>
<li class='pubmethod code'>GetFileInfo(<span class='keyword'>string</span> subpath) : <span class='type'>IFileInfo</span></li>
<li class='pubmethod code'>Watch(<span class='keyword'>string</span> filter) : <span class='type'>IChangeToken</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.FileSystem.NoopChangeToken'>
<div class='header class'>
<span >NoopChangeToken</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ActiveChangeCallbacks { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>HasChanged { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'><span class='static'></span>Instance { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.FileSystem.NoopChangeToken'>NoopChangeToken</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>RegisterChangeCallback(<span class='type'>Action</span>&lt;<span class='type'>Object</span>&gt; callback, <span class='keyword'>object</span> state) : <span class='type'>IDisposable</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.FileSystem.NotFoundDirectoryContents'>
<div class='header class'>
<span >NotFoundDirectoryContents</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>NotFoundDirectoryContents()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Exists { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetEnumerator() : <span class='type'>IEnumerator</span>&lt;<span class='type'>IFileInfo</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.FileSystem.NotFoundFileInfo'>
<div class='header class'>
<span >NotFoundFileInfo</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>NotFoundFileInfo(<span class='keyword'>string</span> name)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Exists { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>IsDirectory { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>LastModified { <span class='keyword'>get</span>; } : <span class='type'>DateTimeOffset</span></li>
<li class='pubproperty code'>Length { <span class='keyword'>get</span>; } : <span class='keyword'>long</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>PhysicalPath { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateReadStream() : <span class='type'>Stream</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Gravatar'>
<h3 class='expander active'>Fx.Gravatar</h3><div>
<div class='objectBox' id='Fx.Fx.Gravatar.GravatarOptions'>
<div class='header class'>
<span >GravatarOptions</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GravatarOptions()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DefaultImage { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>File { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>GuestDefaultImage { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Rating { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>SystemDefaultImage { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Gravatar.GravatarProfileImageProvider'>
<div class='header class'>
<span >GravatarProfileImageProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IProfileImageProvider'>IProfileImageProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GravatarProfileImageProvider(<span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Gravatar.GravatarOptions'>GravatarOptions</a></span>&gt; options)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetProfileImageUrlAsync(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>String</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Mediator'>
<h3 class='expander active'>Fx.Mediator</h3><div>
<div class='objectBox' id='Fx.Fx.Mediator.DefaultMediator'>
<div class='header class'>
<span >DefaultMediator</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DefaultMediator(<span class='type'><a class='type' href='#Fx.Fx.Mediator.InstanceFactory'>InstanceFactory</a></span> instanceFactory, <span class='type'><a class='type' href='#Fx.Fx.Mediator.SetFactory'>SetFactory</a></span> setFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Publish&lt;<span class='type'>TNotification</span>&gt;(<span class='type'>TNotification</span> notification)</li>
<li class='pubmethod code'>PublishAsync&lt;<span class='type'>TNotification</span>&gt;(<span class='type'>TNotification</span> notification, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='protmethod code'>PublishCoreAsync(<span class='type'>IEnumerable</span>&lt;<span class='type'>Task</span>&gt; handlers) : <span class='type'>Task</span></li>
<li class='pubmethod code'>Send&lt;<span class='type'>TResponse</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'>TResponse</span>&gt; request) : <span class='type'>TResponse</span></li>
<li class='pubmethod code'>Send&lt;<span class='type'>TRequest</span>, <span class='type'>TResponse</span>&gt;(<span class='type'>TRequest</span> request) : <span class='type'>TResponse</span></li>
<li class='pubmethod code'>Send(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span> request)</li>
<li class='pubmethod code'>SendAsync&lt;<span class='type'>TResponse</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'>TResponse</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
<li class='pubmethod code'>SendAsync&lt;<span class='type'>TRequest</span>, <span class='type'>TResponse</span>&gt;(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
<li class='pubmethod code'>SendAsync(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.HandlerFactory'>
<div class='header class'>
<span >HandlerFactory : <span class='type'>MulticastDelegate</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>HandlerFactory(<span class='keyword'>object</span> object, <span class='type'>IntPtr</span> method)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BeginInvoke(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken, <span class='type'><a class='type' href='#Fx.Fx.Mediator.InstanceFactory'>InstanceFactory</a></span> instanceFactory, <span class='type'>AsyncCallback</span> callback, <span class='keyword'>object</span> object) : <span class='type'>IAsyncResult</span></li>
<li class='pubmethod code'>EndInvoke(<span class='type'>IAsyncResult</span> result) : <span class='type'><a class='type' href='#Fx.Fx.Mediator.RequestHandlerDelegate'>RequestHandlerDelegate</a></span>&lt;<span class='type'>TResponse</span>&gt;</li>
<li class='pubmethod code'>Invoke(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken, <span class='type'><a class='type' href='#Fx.Fx.Mediator.InstanceFactory'>InstanceFactory</a></span> instanceFactory) : <span class='type'><a class='type' href='#Fx.Fx.Mediator.RequestHandlerDelegate'>RequestHandlerDelegate</a></span>&lt;<span class='type'>TResponse</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.IMediator'>
<div class='header interface'>
<span >IMediator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Publish&lt;<span class='type'>TNotification</span>&gt;(<span class='type'>TNotification</span> notification)</li>
<li class='pubmethod code'>PublishAsync&lt;<span class='type'>TNotification</span>&gt;(<span class='type'>TNotification</span> notification, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>Send&lt;<span class='type'>TResponse</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'>TResponse</span>&gt; request) : <span class='type'>TResponse</span></li>
<li class='pubmethod code'>Send&lt;<span class='type'>TRequest</span>, <span class='type'>TResponse</span>&gt;(<span class='type'>TRequest</span> request) : <span class='type'>TResponse</span></li>
<li class='pubmethod code'>Send(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span> request)</li>
<li class='pubmethod code'>SendAsync&lt;<span class='type'>TResponse</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'>TResponse</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
<li class='pubmethod code'>SendAsync&lt;<span class='type'>TRequest</span>, <span class='type'>TResponse</span>&gt;(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
<li class='pubmethod code'>SendAsync(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.INotification'>
<div class='header interface noMembers'>
<span >INotification</span>
</div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.INotificationHandler'>
<div class='header interface'>
<span >INotificationHandler</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'>T</span> notification, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.InstanceFactory'>
<div class='header class'>
<span >InstanceFactory : <span class='type'>MulticastDelegate</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>InstanceFactory(<span class='keyword'>object</span> object, <span class='type'>IntPtr</span> method)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BeginInvoke(<span class='type'>Type</span> serviceType, <span class='type'>AsyncCallback</span> callback, <span class='keyword'>object</span> object) : <span class='type'>IAsyncResult</span></li>
<li class='pubmethod code'>EndInvoke(<span class='type'>IAsyncResult</span> result) : <span class='keyword'>object</span></li>
<li class='pubmethod code'>Invoke(<span class='type'>Type</span> serviceType) : <span class='keyword'>object</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.IPipelineBehaviour'>
<div class='header interface'>
<span >IPipelineBehaviour</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'>TRequest</span> request, <span class='type'><a class='type' href='#Fx.Fx.Mediator.RequestHandlerDelegate'>RequestHandlerDelegate</a></span>&lt;<span class='type'>TResponse</span>&gt; next, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.IRequest'>
<div class='header interface noMembers'>
<span >IRequest</span>
</div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.IRequest'>
<div class='header interface noMembers'>
<span >IRequest</span>
</div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.IRequestHandler'>
<div class='header interface'>
<span >IRequestHandler</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.IRequestHandler'>
<div class='header interface'>
<span >IRequestHandler</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.IRequestPostProcessor'>
<div class='header interface'>
<span >IRequestPostProcessor</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ProcessAsync(<span class='type'>TRequest</span> request, <span class='type'>TResponse</span> response, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.IRequestPreProcessor'>
<div class='header interface'>
<span >IRequestPreProcessor</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ProcessAsync(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.IResult'>
<div class='header class'>
<span >IResult</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>IResult()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.RequestHandlerDelegate'>
<div class='header class'>
<span >RequestHandlerDelegate : <span class='type'>MulticastDelegate</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RequestHandlerDelegate(<span class='keyword'>object</span> object, <span class='type'>IntPtr</span> method)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BeginInvoke(<span class='type'>CancellationToken</span> cancellationToken, <span class='type'>AsyncCallback</span> callback, <span class='keyword'>object</span> object) : <span class='type'>IAsyncResult</span></li>
<li class='pubmethod code'>EndInvoke(<span class='type'>IAsyncResult</span> result) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
<li class='pubmethod code'>Invoke(<span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.RequestPostProcessorBehaviour'>
<div class='header class'>
<span >RequestPostProcessorBehaviour</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IPipelineBehaviour'>IPipelineBehaviour</a></span>&lt;<span class='type'>TRequest</span>, <span class='type'>TResponse</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RequestPostProcessorBehaviour(<span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestPostProcessor'>IRequestPostProcessor</a></span>&lt;<span class='type'>TRequest</span>, <span class='type'>TResponse</span>&gt;&gt; postProcessors)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'>TRequest</span> request, <span class='type'><a class='type' href='#Fx.Fx.Mediator.RequestHandlerDelegate'>RequestHandlerDelegate</a></span>&lt;<span class='type'>TResponse</span>&gt; next, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.RequestPreProcessorBehaviour'>
<div class='header class'>
<span >RequestPreProcessorBehaviour</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IPipelineBehaviour'>IPipelineBehaviour</a></span>&lt;<span class='type'>TRequest</span>, <span class='type'>TResponse</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RequestPreProcessorBehaviour(<span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestPreProcessor'>IRequestPreProcessor</a></span>&lt;<span class='type'>TRequest</span>&gt;&gt; postProcessors)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'>TRequest</span> request, <span class='type'><a class='type' href='#Fx.Fx.Mediator.RequestHandlerDelegate'>RequestHandlerDelegate</a></span>&lt;<span class='type'>TResponse</span>&gt; next, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TResponse</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.Result'>
<div class='header class'>
<span >Result : <span class='type'><a class='type' href='#Fx.Fx.Mediator.IResult'>IResult</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Result()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Meta { <span class='keyword'>get</span>; } : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>AddMeta(<span class='keyword'>string</span> key, <span class='keyword'>object</span> value)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mediator.SetFactory'>
<div class='header class'>
<span >SetFactory : <span class='type'>MulticastDelegate</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SetFactory(<span class='keyword'>object</span> object, <span class='type'>IntPtr</span> method)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BeginInvoke(<span class='type'>Type</span> serviceType, <span class='type'>AsyncCallback</span> callback, <span class='keyword'>object</span> object) : <span class='type'>IAsyncResult</span></li>
<li class='pubmethod code'>EndInvoke(<span class='type'>IAsyncResult</span> result) : <span class='type'>IEnumerable</span>&lt;<span class='type'>Object</span>&gt;</li>
<li class='pubmethod code'>Invoke(<span class='type'>Type</span> serviceType) : <span class='type'>IEnumerable</span>&lt;<span class='type'>Object</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership'>
<h3 class='expander active'>Fx.Membership</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.ChangeUserIdResolver'>
<div class='header class'>
<span >ChangeUserIdResolver</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IChangeUserIdResolver'>IChangeUserIdResolver</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ChangeUserIdResolver(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.DataSetEntityBase'>
<div class='header class'>
<span >DataSetEntityBase : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>DataSetEntityBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Create { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>DataSetName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Delete { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Read { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Update { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IAuthenticationExtender'>
<div class='header interface'>
<span >IAuthenticationExtender</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExtendAuthentication(<span class='type'>AuthenticationBuilder</span> builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IChangeUserIdResolver'>
<div class='header interface'>
<span >IChangeUserIdResolver</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IdentityService'>
<div class='header class'>
<span >IdentityService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IIdentityService'>IIdentityService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityService'>IIdentityService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>IdentityService(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionContextFactory'>IConnectionContextFactory</a></span> connectionContextFactory, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> factory, <span class='type'>IMemoryCache</span> cache, <span class='type'><a class='type' href='#Fx.IProfileImageProvider'>IProfileImageProvider</a></span> profileImageProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; idProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetCachedIdentities(<span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>[]&gt;</li>
<li class='pubmethod code'>GetCachedIdentity(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>GetForId(<span class='keyword'>int</span> id, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDateTime = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>GetForPrincipal(<span class='type'>ClaimsPrincipal</span> principal, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDateTime = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>SetIdentityStatus(<span class='keyword'>int</span> id, <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span> status, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>UpdateCachedIdentity(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='keyword'>bool</span> email = False, <span class='keyword'>bool</span> dateTimeOffset = False, <span class='keyword'>bool</span> apiVersion = False, <span class='keyword'>bool</span> imageUrl = False, <span class='keyword'>bool</span> isAnonymous = False, <span class='keyword'>bool</span> isSystem = False, <span class='keyword'>bool</span> name = False, <span class='keyword'>bool</span> permissionConventions = False, <span class='keyword'>bool</span> identityStatus = False, <span class='keyword'>bool</span> data = False, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IIdentityService'>
<div class='header interface noMembers'>
<span >IIdentityService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityService'>IIdentityService</a></span></span></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IMembershipDataSetMapping'>
<div class='header interface'>
<span >IMembershipDataSetMapping</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>PasswordResets { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>RoleDataSets { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>RolePermissions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>Roles { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>UserDataSets { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>UserPermissions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>Users { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>UserTokens { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IMembershipIdProvider'>
<div class='header interface noMembers'>
<span >IMembershipIdProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span></span></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IMembershipIdProvider'>
<div class='header interface'>
<span >IMembershipIdProvider</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipId'>MembershipId</a></span></li>
<li class='pubproperty code'>LogicalGroup { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>RoleType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
<li class='pubproperty code'>Schema { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IMembershipService'>
<div class='header interface noMembers'>
<span >IMembershipService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IMembershipService'>IMembershipService</a></span></span></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IMembershipServiceProvider'>
<div class='header interface'>
<span >IMembershipServiceProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetService&lt;<span class='type'>TService</span>&gt;(<span class='type'>Type</span> templateType, <span class='keyword'>string</span> providerId) : <span class='type'>TService</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IRoleDataSetService'>
<div class='header interface'>
<span >IRoleDataSetService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForRole(<span class='keyword'>int</span> roleId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IRolePermissionService'>
<div class='header interface'>
<span >IRolePermissionService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForRole(<span class='keyword'>int</span> roleId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IRoleService'>
<div class='header interface'>
<span >IRoleService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TRole</span>&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>MergeUserRolesAsync(<span class='keyword'>int</span> userId, <span class='type'>Int32</span>[] roleIds) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.ITrustedMembershipService'>
<div class='header interface'>
<span >ITrustedMembershipService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetPasswordHistoryByUserIdAsync(<span class='keyword'>int</span> userId, <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt; passwordHistoryDepth, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>List</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHistory'>PasswordHistory</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;&gt;</li>
<li class='pubmethod code'>GetPasswordResetByResetTokenAsync(<span class='keyword'>string</span> resetToken, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetPasswordResetByUserIdAsync(<span class='keyword'>int</span> userId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetRoleByNameAsync(<span class='keyword'>string</span> roleName, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TRole</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TRole</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>GetRoleDataSetsForUser(<span class='keyword'>int</span> id) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetRolePermissionsForUser(<span class='keyword'>int</span> id) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetUserByEmailAddressAsync(<span class='keyword'>string</span> emailAddress, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TUser</span>&gt;</li>
<li class='pubmethod code'>GetUserByIdAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TUser</span>&gt;</li>
<li class='pubmethod code'>GetUserByUsernameAsync(<span class='keyword'>string</span> username, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TUser</span>&gt;</li>
<li class='pubmethod code'>GetUserDataSetsForUser(<span class='keyword'>int</span> id) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetUserPermissionsForUser(<span class='keyword'>int</span> id) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetUserTokenByRefreshTokenAsync(<span class='keyword'>string</span> refreshToken, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetUserTokenByUserIdSchemeAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> scheme, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>UpdateUserSignInAttemptsAsync(<span class='type'>TUser</span> user, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>UpsertPasswordResetAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; passwordReset, <span class='keyword'>int</span> userId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>UpsertUserAsync(<span class='type'>TUser</span> user, <span class='keyword'>int</span> userId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubmethod code'>UpsertUserTokenAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; userToken, <span class='keyword'>int</span> userId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.ITrustedMembershipService'>
<div class='header interface'>
<span >ITrustedMembershipService</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>UpdateUserTokenExpiryAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> scheme, <span class='type'>DateTimeOffset</span> expiry, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IUserDataSetService'>
<div class='header interface'>
<span >IUserDataSetService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IUserPermissionService'>
<div class='header interface'>
<span >IUserPermissionService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IUserService'>
<div class='header interface'>
<span >IUserService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TUser</span>&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Exists(<span class='keyword'>string</span> username) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GetAllInRole(<span class='keyword'>int</span> roleId) : <span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.IUserTokenService'>
<div class='header interface'>
<span >IUserTokenService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetByAccessTokenForUserAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> accessToken, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetByRefreshTokenForUserAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> refreshToken, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetForSchemeAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> scheme, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipConstants'>
<div class='header class'>
<span >MembershipConstants</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>AccessToken : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ApiAuthenticationSchemaDisplayName : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ApiAuthenticationScheme : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>CachedIdentitiesListKeyFormat : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>CachedIdentityKeyFormat : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>CacheSecurityContextKeyFormat : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>CookieAuthenticationScheme : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>CookieAuthenticationSchemeDisplayName : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>DefaultAlgorithm : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>GrantTypeKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>NameClaim : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ProviderClaim : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>QueryStringAuthenticationSchemaDisplayName : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>QueryStringAuthenticationScheme : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>RefreshToken : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>RefreshTokenGrantType : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ResetToken : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>SchemeClaim : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>SecurityMembershipId : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>TokensConfigurationKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>TokenType : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>UsernamePasswordGrantType : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipDataSetMapping'>
<div class='header class'>
<span >MembershipDataSetMapping</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipDataSetMapping'>IMembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MembershipDataSetMapping()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>PasswordResets { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>RoleDataSets { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>RolePermissions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>Roles { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>UserDataSets { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>UserPermissions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>Users { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>UserTokens { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipDbContext'>
<div class='header class'>
<span >MembershipDbContext : <span class='type'><a class='type' href='#Fx.Fx.Data.DbContextBase'>DbContextBase</a></span>&lt;<span class='type'>TContext</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MembershipDbContext(<span class='type'>DbContextOptions</span>&lt;<span class='type'>TContext</span>&gt; options, <span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>PasswordHistories { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHistory'>PasswordHistory</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>PasswordResets { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>RoleDataSets { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>RolePermissions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>Roles { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'>TRole</span>&gt;</li>
<li class='pubproperty code'>UserDataSets { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>UserPermissions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>UserRoleMappings { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserRoleMapping'>UserRoleMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>Users { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'>TUser</span>&gt;</li>
<li class='pubproperty code'>UserTokens { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipId'>
<div class='header class'>
<span >MembershipId : <span class='type'>ValueType</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MembershipId(<span class='keyword'>string</span> value)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>HasValue { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Value { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='keyword'>string</span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipId'>MembershipId</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='keyword'>string</span> other) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipId'>MembershipId</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Empty : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipId'>MembershipId</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipIdProvider'>
<div class='header class'>
<span >MembershipIdProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MembershipIdProvider(<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipId'>MembershipId</a></span> membershipId, <span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipId'>MembershipId</a></span></li>
<li class='pubproperty code'>LogicalGroup { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Schema { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipMessagingOptions'>
<div class='header class'>
<span >MembershipMessagingOptions</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MembershipMessagingOptions()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>PasswordResetSubject { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>PasswordResetTemplate { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>PasswordResetVerificationSubject { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>PasswordResetVerificationTemplate { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>TemplateCategory { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserLockedSubject { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserLockedTemplate { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>WelcomeSubject { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>WelcomeTemplate { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipModule'>
<div class='header class'>
<span >MembershipModule : <span class='type'><a class='type' href='#Fx.ModuleBase'>ModuleBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span>, <span class='type'><a class='type' href='#Fx.IConfigureOptions'>IConfigureOptions</a></span>&lt;<span class='type'>MvcOptions</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.IAuthenticationExtender'>IAuthenticationExtender</a></span>, <span class='type'><a class='type' href='#Fx.IApplicationExtender'>IApplicationExtender</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MembershipModule()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
<li class='pubmethod code'>ConfigureOptions(<span class='type'>MvcOptions</span> options)</li>
<li class='pubmethod code'>ExtendApplication(<span class='type'>IApplicationBuilder</span> builder)</li>
<li class='pubmethod code'>ExtendAuthentication(<span class='type'>AuthenticationBuilder</span> builder)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipResources'>
<div class='header class'>
<span >MembershipResources</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'><span class='static'></span>Access_Validate_InvalidRequest { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Access_Validate_InvalidRequest_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_Expired { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_Expired_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_InvalidCredentials { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_InvalidCredentials_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_LockedAccount { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_LockedAccount_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_UnknownAccount { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_UnknownAccount_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_UnsupportedGrantType { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Auth_UnsupportedGrantType_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>CookieAuthentication_Failed { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Culture { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>CultureInfo</span></li>
<li class='pubproperty code'><span class='static'></span>JwtAuthentication_ExpiredToken { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>JwtAuthentication_InvalidToken { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>JwtAuthentication_MissingProvider { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordPolicyCheck_ExistsInHistory { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordPolicyCheck_PasswordToShort { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordPolicyCheck_RequiredDigit { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordPolicyCheck_RequiresLowercase { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordPolicyCheck_RequiresNonAlphanumeric { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordPolicyCheck_RequiresUppercase { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordReset_ExpiredResetToken { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordReset_ExpiredResetToken_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordReset_InvalidResetToken { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordReset_InvalidResetToken_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordReset_MessageSubject { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordReset_PasswordPolicyFailure { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordReset_PasswordPolicyFailure_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordResetVerification_MessageSubject { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordResetVerification_UnknownAccount { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>PasswordResetVerification_UnknownAccount_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Profile_InvalidProfile { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Profile_InvalidProfile_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Profile_PasswordPolicyFailure { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>Profile_PasswordPolicyFailure_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>QueryStringAuthentication_Failed { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>ResourceManager { <span class='keyword'>get</span>; } : <span class='type'>ResourceManager</span></li>
<li class='pubproperty code'><span class='static'></span>SecurityModel_NoPermission { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>SecurityModel_NoPermission_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>UserLocked_MessageSubject { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>ValidateEmail_InvalidRequest { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>ValidateEmail_InvalidRequest_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>WelcomeEmail_MessageSubject { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>WelcomeEmail_UnknownAccount { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'><span class='static'></span>WelcomeEmail_UnknownAccount_Desc { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipService'>
<div class='header class'>
<span >MembershipService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipService'>IMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Security.IMembershipService'>IMembershipService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MembershipService(<span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span> host, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedMembershipService, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; membershipIdProvider, <span class='type'>IMemoryCache</span> cache)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForIdentity(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipServiceCollectionExtensions'>
<div class='header class'>
<span >MembershipServiceCollectionExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>AddMembership&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;(<span class='type'>IServiceCollection</span> services, <span class='keyword'>string</span> membershipId, <span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema, <span class='type'>Action</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; build = <span class='keyword'>null</span>) : <span class='type'>IServiceCollection</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipServiceProvider'>
<div class='header class'>
<span >MembershipServiceProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipServiceProvider'>IMembershipServiceProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MembershipServiceProvider(<span class='type'>IServiceProvider</span> serviceProvider, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&gt; idProviders)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetService&lt;<span class='type'>TService</span>&gt;(<span class='type'>Type</span> templateType, <span class='keyword'>string</span> providerId) : <span class='type'>TService</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.MembershipServicesBuilder'>
<div class='header class'>
<span >MembershipServicesBuilder</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MembershipServicesBuilder(<span class='type'>IServiceCollection</span> services, <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipId'>MembershipId</a></span> id, <span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>AddAuthHandler&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>, <span class='type'>TFactory</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>ConfigureDataSets(<span class='type'>Action</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipDataSetMapping'>MembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; configure = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>ConfigureMessaging(<span class='type'>Action</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipMessagingOptions'>MembershipMessagingOptions</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; configure = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>CreateRole&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>, <span class='type'>TValidator</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>CreateUser&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>, <span class='type'>TValidator</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>DeleteRole&lt;<span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>DeleteUser&lt;<span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>GetProfile&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>IdentityService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>IdentityService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>MembershipService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>MembershipService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>PasswordReset&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>PasswordResetService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>PasswordResetService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>PasswordResetVerification&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>PasswordValidation&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>PasswordValidator&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>PasswordValidator&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>QueryManyRoles&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>QueryManyUsers&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>QueryRole&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>QueryUser&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>RegisterAuthenticationHandlers()</li>
<li class='pubmethod code'>RegisterDefaultServices()</li>
<li class='pubmethod code'>RoleDataSetService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>RoleDataSetService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>RolePermissionService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>RolePermissionService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>RoleService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>RoleService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>SendWelcomeEmail&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>, <span class='type'>TValidator</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>TrustedMembershipService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>TrustedMembershipService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>TrustedPasswordService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>TrustedPasswordService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UpdateProfile&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>, <span class='type'>TValidator</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UpdateRole&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>, <span class='type'>TValidator</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UpdateUser&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>, <span class='type'>TValidator</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UserDataSetService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UserDataSetService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UserPermissionService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UserPermissionService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UserService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UserService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UserTokenService&lt;<span class='type'>TService</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>UserTokenService&lt;<span class='type'>TService</span>, <span class='type'>TImplementation</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>ValidateEmail&lt;<span class='type'>TRequest</span>, <span class='type'>THandler</span>, <span class='type'>TValidator</span>&gt;() : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipServicesBuilder'>MembershipServicesBuilder</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.PermissionEntityBase'>
<div class='header class'>
<span >PermissionEntityBase : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>PermissionEntityBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Deny { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>PermissionCode { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Profile'>
<div class='header class'>
<span >Profile : <span class='type'><a class='type' href='#Fx.Fx.Mediator.Result'>Result</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Profile()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Email { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Forename { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ProfileImageUrl { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ResourceToken { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>SecurityContext { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span></li>
<li class='pubproperty code'>Surname { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.ProfileResultType'>
<div class='header class'>
<span >ProfileResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>InvalidProfile : <span class='type'><a class='type' href='#Fx.Fx.Membership.ProfileResultType'>ProfileResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>PasswordPolicyFailure : <span class='type'><a class='type' href='#Fx.Fx.Membership.ProfileResultType'>ProfileResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>Success : <span class='type'><a class='type' href='#Fx.Fx.Membership.ProfileResultType'>ProfileResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Role'>
<div class='header class'>
<span >Role : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>Role()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Conventions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>RoleDataSets { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>RolePermissions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>UserRoleMappings { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserRoleMapping'>UserRoleMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.RoleDataSet'>
<div class='header class'>
<span >RoleDataSet : <span class='type'><a class='type' href='#Fx.Fx.Membership.DataSetEntityBase'>DataSetEntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RoleDataSet()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Role { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TRole</span></li>
<li class='pubproperty code'>RoleId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.RoleDataSetService'>
<div class='header class'>
<span >RoleDataSetService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'>TContext</span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleDataSetService'>IRoleDataSetService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>RoleDataSetService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataSet = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>RoleDataSetService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipDataSetMapping'>IMembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; dataSetMapping)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForRole(<span class='keyword'>int</span> roleId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.RolePermission'>
<div class='header class'>
<span >RolePermission : <span class='type'><a class='type' href='#Fx.Fx.Membership.PermissionEntityBase'>PermissionEntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RolePermission()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Role { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TRole</span></li>
<li class='pubproperty code'>RoleId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.RolePermissionService'>
<div class='header class'>
<span >RolePermissionService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'>TContext</span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IRolePermissionService'>IRolePermissionService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>RolePermissionService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataSet = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>RolePermissionService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipDataSetMapping'>IMembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; dataSetMapping)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForRole(<span class='keyword'>int</span> roleId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.RoleService'>
<div class='header class'>
<span >RoleService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TRole</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleService'>IRoleService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TRole</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>RoleService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'>TRole</span>&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataSet = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>RoleService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'>TRole</span>&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipDataSetMapping'>IMembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; dataSetMapping)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>MergeUserRolesAsync(<span class='keyword'>int</span> userId, <span class='type'>Int32</span>[] roleIds) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.TrustedMembershipService'>
<div class='header class'>
<span >TrustedMembershipService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>TrustedMembershipService(<span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock, <span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.IFeatureStateProvider'>IFeatureStateProvider</a></span> featureStateProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; idProvider, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionContextFactory'>IConnectionContextFactory</a></span> connectionContextFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetPasswordHistoryByUserIdAsync(<span class='keyword'>int</span> userId, <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt; passwordHistoryDepth = 5, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>List</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHistory'>PasswordHistory</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;&gt;</li>
<li class='pubmethod code'>GetPasswordResetByResetTokenAsync(<span class='keyword'>string</span> resetToken, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetPasswordResetByUserIdAsync(<span class='keyword'>int</span> userId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetRoleByNameAsync(<span class='keyword'>string</span> roleName, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TRole</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TRole</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>GetRoleDataSetsForUser(<span class='keyword'>int</span> id) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetRolePermissionsForUser(<span class='keyword'>int</span> id) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetUserByEmailAddressAsync(<span class='keyword'>string</span> emailAddress, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TUser</span>&gt;</li>
<li class='pubmethod code'>GetUserByIdAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TUser</span>&gt;</li>
<li class='pubmethod code'>GetUserByUsernameAsync(<span class='keyword'>string</span> username, <span class='type'>Func</span>&lt;<span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;&gt; query = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>TUser</span>&gt;</li>
<li class='pubmethod code'>GetUserDataSetsForUser(<span class='keyword'>int</span> id) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetUserPermissionsForUser(<span class='keyword'>int</span> id) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetUserTokenByRefreshTokenAsync(<span class='keyword'>string</span> refreshToken, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetUserTokenByUserIdSchemeAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> scheme, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>UpdateUserSignInAttemptsAsync(<span class='type'>TUser</span> user, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>UpdateUserTokenExpiryAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> scheme, <span class='type'>DateTimeOffset</span> expiry, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>UpsertPasswordResetAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; passwordReset, <span class='keyword'>int</span> userId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>UpsertUserAsync(<span class='type'>TUser</span> user, <span class='keyword'>int</span> userId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubmethod code'>UpsertUserTokenAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; userToken, <span class='keyword'>int</span> userId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.User'>
<div class='header class'>
<span >User : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>User()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApiVersion { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Conventions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Email { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ExpiresDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>Forename { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Locked { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>LockedDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>Password { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ProfileImageUrl { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>SignInAttempts { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Surname { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserDataSets { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>Username { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserPermissions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubproperty code'>UserRoleMappings { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserRoleMapping'>UserRoleMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.UserDataSet'>
<div class='header class'>
<span >UserDataSet : <span class='type'><a class='type' href='#Fx.Fx.Membership.DataSetEntityBase'>DataSetEntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserDataSet()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>User { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TUser</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.UserDataSetService'>
<div class='header class'>
<span >UserDataSetService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'>TContext</span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IUserDataSetService'>IUserDataSetService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>UserDataSetService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataSet = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>UserDataSetService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipDataSetMapping'>IMembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; dataSetMapping)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.UserPermission'>
<div class='header class'>
<span >UserPermission : <span class='type'><a class='type' href='#Fx.Fx.Membership.PermissionEntityBase'>PermissionEntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserPermission()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>User { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TUser</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.UserPermissionService'>
<div class='header class'>
<span >UserPermissionService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'>TContext</span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IUserPermissionService'>IUserPermissionService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>UserPermissionService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataSet = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>UserPermissionService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipDataSetMapping'>IMembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; dataSetMapping)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.UserRoleMapping'>
<div class='header class'>
<span >UserRoleMapping</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IEntityMapping'>IEntityMapping</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserRoleMapping()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Role { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TRole</span></li>
<li class='pubproperty code'>RoleId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>User { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TUser</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.UserService'>
<div class='header class'>
<span >UserService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'>TContext</span>, <span class='type'>TUser</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IUserService'>IUserService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TUser</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>UserService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'>TUser</span>&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataSet = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>UserService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'>TUser</span>&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipDataSetMapping'>IMembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; dataSetMapping)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Exists(<span class='keyword'>string</span> username) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GetAllInRole(<span class='keyword'>int</span> roleId) : <span class='type'>IQueryable</span>&lt;<span class='type'>TUser</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.UserToken'>
<div class='header class'>
<span >UserToken : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserToken()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AccessToken { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>AccessTokenExpires { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>RefreshToken { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>RefreshTokenExpires { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>Scheme { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>User { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TUser</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.UserTokenService'>
<div class='header class'>
<span >UserTokenService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'>TContext</span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IUserTokenService'>IUserTokenService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>UserTokenService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataSet = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>UserTokenService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipDataSetMapping'>IMembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; dataSetMapping)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetByAccessTokenForUserAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> accessToken, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetByRefreshTokenForUserAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> refreshToken, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetForSchemeAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> scheme, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Authentication'>
<h3 class='expander active'>Fx.Membership.Authentication</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationDispatcherHandler'>
<div class='header class'>
<span >AuthenticationDispatcherHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationRequest'>IAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AuthenticationDispatcherHandler(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerProvider'>IAuthenticationHandlerProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; handlerProvider, <span class='type'>IServiceProvider</span> serviceProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationRequest'>IAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationHandlerBase'>
<div class='header class'>
<span >AuthenticationHandlerBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandler'>IAuthenticationHandler</a></span>&lt;<span class='type'>TRequest</span>, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandler'>IAuthenticationHandler</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>AuthenticationHandlerBase(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerServices'>IAuthenticationHandlerServices</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; services)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='protproperty code'>AuthenticationOptions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationOptions'>AuthenticationOptions</a></span></li>
<li class='protproperty code'>ChangeUserIdResolver { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.IChangeUserIdResolver'>IChangeUserIdResolver</a></span></li>
<li class='protproperty code'>Clock { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span></li>
<li class='protproperty code'>IdentityFactory { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span></li>
<li class='protproperty code'>IdProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='protproperty code'>ResultInterceptors { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationResultInterceptor'>IAuthenticationResultInterceptor</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;[]</li>
<li class='protproperty code'>TokenProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span></li>
<li class='protproperty code'>TrustedMembershipService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>GetSchemeOptions(<span class='keyword'>string</span> scheme) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationSchemeOptions'>AuthenticationSchemeOptions</a></span></li>
<li class='pubmethod code'>HandleRequestAsync(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationHandlerFactoryBase'>
<div class='header class'>
<span >AuthenticationHandlerFactoryBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerFactory'>IAuthenticationHandlerFactory</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>AuthenticationHandlerFactoryBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>GrantType { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>RequestType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateHandler(<span class='type'>IServiceProvider</span> serviceProvider) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandler'>IAuthenticationHandler</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationHandlerProvider'>
<div class='header class'>
<span >AuthenticationHandlerProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerProvider'>IAuthenticationHandlerProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerProvider'>IAuthenticationHandlerProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AuthenticationHandlerProvider(<span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerFactory'>IAuthenticationHandlerFactory</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; factories)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetHandler(<span class='keyword'>string</span> grantType, <span class='type'>IServiceProvider</span> serviceProvider) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandler'>IAuthenticationHandler</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'>GetHandlerType(<span class='keyword'>string</span> grantType) : <span class='type'>Type</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationHandlerServices'>
<div class='header class'>
<span >AuthenticationHandlerServices</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerServices'>IAuthenticationHandlerServices</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AuthenticationHandlerServices(<span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationOptions'>AuthenticationOptions</a></span>&gt; authenticationOptions, <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; idProvider, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationResultInterceptor'>IAuthenticationResultInterceptor</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; resultInterceptors, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span> tokenProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedMembershipService, <span class='type'><a class='type' href='#Fx.Fx.Membership.IChangeUserIdResolver'>IChangeUserIdResolver</a></span> changeUserIdResolver)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AuthenticationOptions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationOptions'>AuthenticationOptions</a></span></li>
<li class='pubproperty code'>ChangeUserIdResolver { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.IChangeUserIdResolver'>IChangeUserIdResolver</a></span></li>
<li class='pubproperty code'>Clock { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span></li>
<li class='pubproperty code'>IdentityFactory { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span></li>
<li class='pubproperty code'>IdProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubproperty code'>ResultInterceptors { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationResultInterceptor'>IAuthenticationResultInterceptor</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;[]</li>
<li class='pubproperty code'>TokenProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span></li>
<li class='pubproperty code'>TrustedMembershipService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationOptions'>
<div class='header class'>
<span >AuthenticationOptions</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AuthenticationOptions()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Audience { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Issuer { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Schemes { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationSchemeOptions'>AuthenticationSchemeOptions</a></span>[]</li>
<li class='pubproperty code'>SigningKey { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>SlidingExpiration { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubproperty code'>ValidateAudience { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>ValidateIssuer { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>ValidateIssuerSigningKey { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationRequestInputFormatter'>
<div class='header class'>
<span >AuthenticationRequestInputFormatter : <span class='type'>TextInputFormatter</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AuthenticationRequestInputFormatter()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>
<div class='header class'>
<span >AuthenticationResult : <span class='type'><a class='type' href='#Fx.Fx.Mediator.Result'>Result</a></span></span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AccessToken { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Expires { <span class='keyword'>get</span>; } : <span class='type'>DateTimeOffset</span></li>
<li class='pubproperty code'>RefreshToken { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ResetToken { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResultType'>AuthenticationResultType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>Expired(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span> resetToken) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span></li>
<li class='pubmethod code'><span class='static'></span>InvalidCredentials() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span></li>
<li class='pubmethod code'><span class='static'></span>LockedAccount() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span></li>
<li class='pubmethod code'><span class='static'></span>Success(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span> accessToken, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span> refreshToken) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span></li>
<li class='pubmethod code'><span class='static'></span>UnknownAccount() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span></li>
<li class='pubmethod code'><span class='static'></span>UnsupportedGrantType() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResultType'>
<div class='header class'>
<span >AuthenticationResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Expired : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResultType'>AuthenticationResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>InvalidCredentials : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResultType'>AuthenticationResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>LockedAccount : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResultType'>AuthenticationResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>Success : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResultType'>AuthenticationResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>UnknownAccount : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResultType'>AuthenticationResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>UnsupportedGrantType : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResultType'>AuthenticationResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationSchemeOptions'>
<div class='header class'>
<span >AuthenticationSchemeOptions</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AuthenticationSchemeOptions()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Refresh { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>SlidingExpiration { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationSettings'>
<div class='header class'>
<span >AuthenticationSettings</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AuthenticationSettings()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>LockTriesAmount { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Clone() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationSettings'>AuthenticationSettings</a></span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Default : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationSettings'>AuthenticationSettings</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.CookieAuthenticationHandler'>
<div class='header class'>
<span >CookieAuthenticationHandler : <span class='type'>AuthenticationHandler</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.CookieAuthenticationSchemeOptions'>CookieAuthenticationSchemeOptions</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CookieAuthenticationHandler(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenValidator'>ITokenValidator</a></span> tokenValidator, <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityService'>IIdentityService</a></span> identityService, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipService'>IMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; membershipService, <span class='type'>IOptionsMonitor</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.CookieAuthenticationSchemeOptions'>CookieAuthenticationSchemeOptions</a></span>&gt; options, <span class='type'>ILoggerFactory</span> logger, <span class='type'>UrlEncoder</span> encoder, <span class='type'>ISystemClock</span> clock)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.CookieAuthenticationSchemeOptions'>
<div class='header class'>
<span >CookieAuthenticationSchemeOptions : <span class='type'>AuthenticationSchemeOptions</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CookieAuthenticationSchemeOptions()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>CookieName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>TokenType { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.EnumerableClaimExtensions'>
<div class='header class'>
<span >EnumerableClaimExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>OfType(<span class='type'>IEnumerable</span>&lt;<span class='type'>Claim</span>&gt; claims, <span class='keyword'>string</span> type) : <span class='type'>Claim</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandler'>
<div class='header interface'>
<span >IAuthenticationHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandler'>IAuthenticationHandler</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleRequestAsync(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandler'>
<div class='header interface'>
<span >IAuthenticationHandler</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleRequestAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationRequest'>IAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerFactory'>
<div class='header interface'>
<span >IAuthenticationHandlerFactory</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>GrantType { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>RequestType { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateHandler(<span class='type'>IServiceProvider</span> serviceProvider) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandler'>IAuthenticationHandler</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerProvider'>
<div class='header interface'>
<span >IAuthenticationHandlerProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetHandlerType(<span class='keyword'>string</span> grantType) : <span class='type'>Type</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerProvider'>
<div class='header interface'>
<span >IAuthenticationHandlerProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerProvider'>IAuthenticationHandlerProvider</a></span></span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetHandler(<span class='keyword'>string</span> grantType, <span class='type'>IServiceProvider</span> serviceProvider) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandler'>IAuthenticationHandler</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerServices'>
<div class='header interface'>
<span >IAuthenticationHandlerServices</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AuthenticationOptions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationOptions'>AuthenticationOptions</a></span></li>
<li class='pubproperty code'>ChangeUserIdResolver { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.IChangeUserIdResolver'>IChangeUserIdResolver</a></span></li>
<li class='pubproperty code'>Clock { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span></li>
<li class='pubproperty code'>IdentityFactory { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span></li>
<li class='pubproperty code'>IdProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubproperty code'>ResultInterceptors { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationResultInterceptor'>IAuthenticationResultInterceptor</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;[]</li>
<li class='pubproperty code'>TokenProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span></li>
<li class='pubproperty code'>TrustedMembershipService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationRequest'>
<div class='header interface'>
<span >IAuthenticationRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</span></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>GrantType { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Scheme { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationResultInterceptor'>
<div class='header interface'>
<span >IAuthenticationResultInterceptor</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>InterceptAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span> result, <span class='type'>TUser</span> user = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.QueryStringAuthenticationHandler'>
<div class='header class'>
<span >QueryStringAuthenticationHandler : <span class='type'>AuthenticationHandler</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.QueryStringAuthenticationSchemeOptions'>QueryStringAuthenticationSchemeOptions</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryStringAuthenticationHandler(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenValidator'>ITokenValidator</a></span> tokenValidator, <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityService'>IIdentityService</a></span> identityService, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipService'>IMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; membershipService, <span class='type'>IOptionsMonitor</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.QueryStringAuthenticationSchemeOptions'>QueryStringAuthenticationSchemeOptions</a></span>&gt; options, <span class='type'>ILoggerFactory</span> logger, <span class='type'>UrlEncoder</span> encoder, <span class='type'>ISystemClock</span> clock)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.QueryStringAuthenticationSchemeOptions'>
<div class='header class'>
<span >QueryStringAuthenticationSchemeOptions : <span class='type'>AuthenticationSchemeOptions</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryStringAuthenticationSchemeOptions()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>QueryStringParameter { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>TokenType { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.RefreshTokenAuthenticationHandler'>
<div class='header class'>
<span >RefreshTokenAuthenticationHandler : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationHandlerBase'>AuthenticationHandlerBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.RefreshTokenAuthenticationRequest'>RefreshTokenAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RefreshTokenAuthenticationHandler(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerServices'>IAuthenticationHandlerServices</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; services, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenValidator'>ITokenValidator</a></span> tokenValidator)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>VisitInterceptorsAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span> result, <span class='type'>TUser</span> user = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.RefreshTokenAuthenticationHandlerFactory'>
<div class='header class'>
<span >RefreshTokenAuthenticationHandlerFactory : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationHandlerFactoryBase'>AuthenticationHandlerFactoryBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.RefreshTokenAuthenticationRequest'>RefreshTokenAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.RefreshTokenAuthenticationHandler'>RefreshTokenAuthenticationHandler</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RefreshTokenAuthenticationHandlerFactory()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.RefreshTokenAuthenticationRequest'>
<div class='header class'>
<span >RefreshTokenAuthenticationRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationRequest'>IAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RefreshTokenAuthenticationRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>GrantType { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>RefreshToken { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Scheme { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.UsernamePasswordAuthenticationHandler'>
<div class='header class'>
<span >UsernamePasswordAuthenticationHandler : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationHandlerBase'>AuthenticationHandlerBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.UsernamePasswordAuthenticationRequest'>UsernamePasswordAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UsernamePasswordAuthenticationHandler(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationHandlerServices'>IAuthenticationHandlerServices</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; services, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordHasher'>IPasswordHasher</a></span> passwordHasher, <span class='type'><a class='type' href='#Fx.Fx.Settings.IGlobalSettings'>IGlobalSettings</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationSettings'>AuthenticationSettings</a></span>&gt; authenticationSettings, <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span> builder, <span class='type'><a class='type' href='#Fx.Fx.Messaging.ITrustedMessageService'>ITrustedMessageService</a></span> trustedMessageService, <span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipMessagingOptions'>MembershipMessagingOptions</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; messagingOptions, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; membershipIdProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>VisitInterceptorsAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span> result, <span class='type'>TUser</span> user = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.UsernamePasswordAuthenticationHandlerFactory'>
<div class='header class'>
<span >UsernamePasswordAuthenticationHandlerFactory : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationHandlerFactoryBase'>AuthenticationHandlerFactoryBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.UsernamePasswordAuthenticationRequest'>UsernamePasswordAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.UsernamePasswordAuthenticationHandler'>UsernamePasswordAuthenticationHandler</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UsernamePasswordAuthenticationHandlerFactory()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.UsernamePasswordAuthenticationRequest'>
<div class='header class'>
<span >UsernamePasswordAuthenticationRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationRequest'>IAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationResult'>AuthenticationResult</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UsernamePasswordAuthenticationRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>GrantType { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Password { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Scheme { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Username { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Authentication.Controllers'>
<h3 class='expander active'>Fx.Membership.Authentication.Controllers</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Authentication.Fx.Membership.Authentication.Controllers.AuthenticationController'>
<div class='header class'>
<span >AuthenticationController : <span class='type'><a class='type' href='#Fx.Fx.Api.ApiControllerBase'>ApiControllerBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AuthenticationController(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator, <span class='type'>ResourceManager</span> resourceManager, <span class='keyword'>string</span> errorCategory)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ErrorCategory { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Mediator { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span></li>
<li class='pubproperty code'>ResourceManager { <span class='keyword'>get</span>; } : <span class='type'>ResourceManager</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Token(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.IAuthenticationRequest'>IAuthenticationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Builders'>
<h3 class='expander active'>Fx.Membership.Builders</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Builders.RoleDataSetEntityTypeBuilder'>
<div class='header class'>
<span >RoleDataSetEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RoleDataSetEntityTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Builders.RoleEntityTypeBuilder'>
<div class='header class'>
<span >RoleEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'>TRole</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RoleEntityTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema, <span class='keyword'>string</span> table)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Builders.RolePermissionEntityTypeBuilder'>
<div class='header class'>
<span >RolePermissionEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RolePermissionEntityTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Builders.UserDataSetEntityTypeBuilder'>
<div class='header class'>
<span >UserDataSetEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserDataSetEntityTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Builders.UserEntityTypeBuilder'>
<div class='header class'>
<span >UserEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'>TUser</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserEntityTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema, <span class='keyword'>string</span> table)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Builders.UserPermissionEntityTypeBuilder'>
<div class='header class'>
<span >UserPermissionEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserPermissionEntityTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Builders.UserRoleMappingEntityMappingTypeBuilder'>
<div class='header class'>
<span >UserRoleMappingEntityMappingTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityMappingTypeBuilderBase'>EntityMappingTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserRoleMapping'>UserRoleMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserRoleMappingEntityMappingTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Builders.UserTokenEntityTypeBuilder'>
<div class='header class'>
<span >UserTokenEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserTokenEntityTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Controllers'>
<h3 class='expander active'>Fx.Membership.Controllers</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Controllers.ProfileController'>
<div class='header class'>
<span >ProfileController : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Controllers.ProfileControllerBase'>ProfileControllerBase</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.GetProfileRequest'>GetProfileRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileRequest'>UpdateProfileRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ProfileController(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator, <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'>ResourceManager</span> resourceManager, <span class='keyword'>string</span> errorCategory)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Controllers.ProfileControllerBase'>
<div class='header class'>
<span >ProfileControllerBase : <span class='type'><a class='type' href='#Fx.Fx.Api.ApiControllerBase'>ApiControllerBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ProfileControllerBase(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator, <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'>ResourceManager</span> resourceManager, <span class='keyword'>string</span> errorCategory)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ErrorCategory { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Mediator { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span></li>
<li class='pubproperty code'>ResourceManager { <span class='keyword'>get</span>; } : <span class='type'>ResourceManager</span></li>
<li class='pubproperty code'>WorkContext { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForId(<span class='keyword'>int</span> id) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
<li class='pubmethod code'>GetForMe() : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
<li class='pubmethod code'>UpdateProfile(<span class='type'>TUpdateRequest</span> request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Controllers.RolesController'>
<div class='header class'>
<span >RolesController : <span class='type'><a class='type' href='#Fx.Fx.Api.WriterApiControllerBase'>WriterApiControllerBase</a></span>&lt;<span class='type'>TRole</span>, <span class='type'>TCreateRequest</span>, <span class='type'>TUpdateRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RolesController(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Controllers.UsersController'>
<div class='header class'>
<span >UsersController : <span class='type'><a class='type' href='#Fx.Fx.Api.WriterApiControllerBase'>WriterApiControllerBase</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TCreateRequest</span>, <span class='type'>TUpdateRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UsersController(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator, <span class='type'>ResourceManager</span> resourceManager, <span class='keyword'>string</span> errorCategory)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ErrorCategory { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ResourceManager { <span class='keyword'>get</span>; } : <span class='type'>ResourceManager</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>SendWelcomeEmail(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailRequest'>SendWelcomeEmailRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
<li class='pubmethod code'>ValidateEmail(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.ValidateUserEmailAddressRequest'>ValidateUserEmailAddressRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Handlers'>
<h3 class='expander active'>Fx.Membership.Handlers</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.CreateRoleRequest'>
<div class='header class'>
<span >CreateRoleRequest : <span class='type'><a class='type' href='#Fx.Fx.Api.RequestWithMixins'>RequestWithMixins</a></span>&lt;<span class='type'>TRole</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.ICreateRequest'>ICreateRequest</a></span>&lt;<span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResult'>CreateResult</a></span>&lt;<span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CreateRoleRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Conventions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.CreateRoleRequestHandler'>
<div class='header class'>
<span >CreateRoleRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateRequestHandlerBase'>CreateRequestHandlerBase</a></span>&lt;<span class='type'>TRole</span>, <span class='type'>TRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CreateRoleRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TRole</span>&gt; writer, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedSecurityService)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DisableConflictingRoleCheck { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='protproperty code'>TrustedSecurityService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.CreateRoleRequestValidator'>
<div class='header class'>
<span >CreateRoleRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'>TRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CreateRoleRequestValidator()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.CreateUserRequest'>
<div class='header class'>
<span >CreateUserRequest : <span class='type'><a class='type' href='#Fx.Fx.Api.RequestWithMixins'>RequestWithMixins</a></span>&lt;<span class='type'>TUser</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.ICreateRequest'>ICreateRequest</a></span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResult'>CreateResult</a></span>&lt;<span class='type'>TUser</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CreateUserRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApiVersion { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Conventions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Email { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Forename { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>RoleIds { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Int32</span>[]</li>
<li class='pubproperty code'>SendWelcomeEmail { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Surname { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Username { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.CreateUserRequestHandler'>
<div class='header class'>
<span >CreateUserRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateRequestHandlerBase'>CreateRequestHandlerBase</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CreateUserRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TUser</span>&gt; writer, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedSecurityService, <span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleService'>IRoleService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; roleService)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DisableConflictingUserCheck { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='protproperty code'>Mediator { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span></li>
<li class='protproperty code'>RoleService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleService'>IRoleService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='protproperty code'>TrustedSecurityService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.CreateUserRequestValidator'>
<div class='header class'>
<span >CreateUserRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'>TRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CreateUserRequestValidator()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.DeleteRoleRequestHandler'>
<div class='header class'>
<span >DeleteRoleRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteRequestHandlerBase'>DeleteRequestHandlerBase</a></span>&lt;<span class='type'>TRole</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DeleteRoleRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TRole</span>&gt; writer)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.DeleteUserRequestHandler'>
<div class='header class'>
<span >DeleteUserRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteRequestHandlerBase'>DeleteRequestHandlerBase</a></span>&lt;<span class='type'>TUser</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DeleteUserRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TUser</span>&gt; writer)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.GetProfileRequest'>
<div class='header class'>
<span >GetProfileRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Profile'>Profile</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GetProfileRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.GetProfileRequestHandler'>
<div class='header class'>
<span >GetProfileRequestHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.GetProfileRequest'>GetProfileRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Profile'>Profile</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GetProfileRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedMembershipService, <span class='type'><a class='type' href='#Fx.IProfileImageProvider'>IProfileImageProvider</a></span> profileImageProvider, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipService'>IMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; membershipService, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span> tokenProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; idProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.GetProfileRequest'>GetProfileRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Profile'>Profile</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.QueryManyRolesRequestHandler'>
<div class='header class'>
<span >QueryManyRolesRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyRequestHandlerBase'>QueryManyRequestHandlerBase</a></span>&lt;<span class='type'>TRole</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryManyRolesRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Query.IQueryService'>IQueryService</a></span> queryService, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TRole</span>&gt; reader)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.QueryManyUsersRequestHandler'>
<div class='header class'>
<span >QueryManyUsersRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyRequestHandlerBase'>QueryManyRequestHandlerBase</a></span>&lt;<span class='type'>TUser</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryManyUsersRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Query.IQueryService'>IQueryService</a></span> queryService, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TUser</span>&gt; reader, <span class='type'><a class='type' href='#Fx.IProfileImageProvider'>IProfileImageProvider</a></span> profileImageProvider, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.QueryRoleByIdRequestHandler'>
<div class='header class'>
<span >QueryRoleByIdRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryByIdRequestHandlerBase'>QueryByIdRequestHandlerBase</a></span>&lt;<span class='type'>TRole</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryRoleByIdRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TRole</span>&gt; reader)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.QueryUserByIdRequestHandler'>
<div class='header class'>
<span >QueryUserByIdRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryByIdRequestHandlerBase'>QueryByIdRequestHandlerBase</a></span>&lt;<span class='type'>TUser</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryUserByIdRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'>TUser</span>&gt; reader, <span class='type'><a class='type' href='#Fx.IProfileImageProvider'>IProfileImageProvider</a></span> profileImageProvider, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailRequest'>
<div class='header class'>
<span >SendWelcomeEmailRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResult'>SendWelcomeEmailResult</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SendWelcomeEmailRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>EmailAddress { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Scheme { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailRequestHandler'>
<div class='header class'>
<span >SendWelcomeEmailRequestHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailRequest'>SendWelcomeEmailRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResult'>SendWelcomeEmailResult</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SendWelcomeEmailRequestHandler(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedSecurityService, <span class='type'><a class='type' href='#Fx.Fx.Messaging.ITrustedMessageService'>ITrustedMessageService</a></span> trustedMessageService, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span> tokenProvider, <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span> builder, <span class='type'><a class='type' href='#Fx.Fx.Messaging.IMessageViewModelFactory'>IMessageViewModelFactory</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; viewModelFactory, <span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipMessagingOptions'>MembershipMessagingOptions</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; options, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; membershipIdProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.IChangeUserIdResolver'>IChangeUserIdResolver</a></span> changeUserIdResolver)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailRequest'>SendWelcomeEmailRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResult'>SendWelcomeEmailResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailRequestValidator'>
<div class='header class'>
<span >SendWelcomeEmailRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailRequest'>SendWelcomeEmailRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SendWelcomeEmailRequestValidator()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResult'>
<div class='header class'>
<span >SendWelcomeEmailResult : <span class='type'><a class='type' href='#Fx.Fx.Mediator.Result'>Result</a></span></span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Expires { <span class='keyword'>get</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResultType'>SendWelcomeEmailResultType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>Success(<span class='type'>DateTimeOffset</span> expires) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResult'>SendWelcomeEmailResult</a></span></li>
<li class='pubmethod code'><span class='static'></span>UnknownAccount() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResult'>SendWelcomeEmailResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResultType'>
<div class='header class'>
<span >SendWelcomeEmailResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Success : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResultType'>SendWelcomeEmailResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>UnknownAccount : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.SendWelcomeEmailResultType'>SendWelcomeEmailResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileRequest'>
<div class='header class'>
<span >UpdateProfileRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileResult'>UpdateProfileResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateProfileRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Email { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Forename { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Password { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Surname { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileRequestHandler'>
<div class='header class'>
<span >UpdateProfileRequestHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'>TRequest</span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileResult'>UpdateProfileResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateProfileRequestHandler(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedSecurityService, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.ITrustedPasswordService'>ITrustedPasswordService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedPasswordService, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory, <span class='type'><a class='type' href='#Fx.IProfileImageProvider'>IProfileImageProvider</a></span> profileImageProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordValidator'>IPasswordValidator</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; passwordValidator)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'>TRequest</span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileResult'>UpdateProfileResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileRequestValidator'>
<div class='header class'>
<span >UpdateProfileRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'>TRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateProfileRequestValidator()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileResult'>
<div class='header class'>
<span >UpdateProfileResult : <span class='type'><a class='type' href='#Fx.Fx.Mediator.Result'>Result</a></span></span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Profile { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Profile'>Profile</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.ProfileResultType'>ProfileResultType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>InvalidProfile() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileResult'>UpdateProfileResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>PasswordPolicyFailure() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileResult'>UpdateProfileResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>Success(<span class='type'><a class='type' href='#Fx.Fx.Membership.Profile'>Profile</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; profile) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.UpdateProfileResult'>UpdateProfileResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateRoleRequest'>
<div class='header class'>
<span >UpdateRoleRequest : <span class='type'><a class='type' href='#Fx.Fx.Api.RequestWithMixins'>RequestWithMixins</a></span>&lt;<span class='type'>TRole</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.IUpdateRequest'>IUpdateRequest</a></span>&lt;<span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateRoleRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Conventions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateRoleRequestHandler'>
<div class='header class'>
<span >UpdateRoleRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateRequestHandlerBase'>UpdateRequestHandlerBase</a></span>&lt;<span class='type'>TRole</span>, <span class='type'>TRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateRoleRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TRole</span>&gt; writer, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedSecurityService)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DisableConflictingRoleCheck { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='protproperty code'>TrustedSecurityService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateRoleRequestValidator'>
<div class='header class'>
<span >UpdateRoleRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'>TRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateRoleRequestValidator()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateUserRequest'>
<div class='header class'>
<span >UpdateUserRequest : <span class='type'><a class='type' href='#Fx.Fx.Api.RequestWithMixins'>RequestWithMixins</a></span>&lt;<span class='type'>TUser</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.IUpdateRequest'>IUpdateRequest</a></span>&lt;<span class='type'>TUser</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'>TUser</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateUserRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApiVersion { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Conventions { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Email { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Enabled { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Forename { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>RoleIds { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Int32</span>[]</li>
<li class='pubproperty code'>Surname { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Username { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateUserRequestHandler'>
<div class='header class'>
<span >UpdateUserRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateRequestHandlerBase'>UpdateRequestHandlerBase</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateUserRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'>TUser</span>&gt; writer, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedSecurityService, <span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleService'>IRoleService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; roleService, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; idProvider, <span class='type'>IMemoryCache</span> memoryCache)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DisableConflictingUserCheck { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>IdProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='protproperty code'>RoleService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleService'>IRoleService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='protproperty code'>TrustedSecurityService { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.UpdateUserRequestValidator'>
<div class='header class'>
<span >UpdateUserRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'>TRequest</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateUserRequestValidator()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.ValidateMembershipUserEmailAddressRequestValidator'>
<div class='header class'>
<span >ValidateMembershipUserEmailAddressRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.ValidateUserEmailAddressRequest'>ValidateUserEmailAddressRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ValidateMembershipUserEmailAddressRequestValidator()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.ValidateUserEmailAddressRequest'>
<div class='header class'>
<span >ValidateUserEmailAddressRequest : <span class='type'><a class='type' href='#Fx.Fx.Api.DataRequestBase'>DataRequestBase</a></span>&lt;<span class='type'>TUser</span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'>Boolean</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ValidateUserEmailAddressRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>EmailAddress { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Handlers.ValidateUserEmailAddressRequestHandler'>
<div class='header class'>
<span >ValidateUserEmailAddressRequestHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.ValidateUserEmailAddressRequest'>ValidateUserEmailAddressRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'>Boolean</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ValidateUserEmailAddressRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedSecurityService)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Handlers.ValidateUserEmailAddressRequest'>ValidateUserEmailAddressRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Boolean</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Passwords'>
<h3 class='expander active'>Fx.Membership.Passwords</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordHasher'>
<div class='header interface'>
<span >IPasswordHasher</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HashPassword(<span class='keyword'>string</span> password) : <span class='keyword'>string</span></li>
<li class='pubmethod code'>VerifyHashedPassword(<span class='keyword'>string</span> hashedPassword, <span class='keyword'>string</span> providedPassword) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordVerificationResult'>PasswordVerificationResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordResetService'>
<div class='header interface'>
<span >IPasswordResetService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordValidator'>
<div class='header interface'>
<span >IPasswordValidator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ValidatePassword(<span class='keyword'>string</span> password, <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt; userId, <span class='type'>CancellationToken</span> cancellationToken) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationResult'>PasswordValidationResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.ITrustedPasswordService'>
<div class='header interface'>
<span >ITrustedPasswordService</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreatePasswordHistoryAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHistory'>PasswordHistory</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; passwordHistory, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>SetPasswordAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> password, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHasher'>
<div class='header class'>
<span >PasswordHasher</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordHasher'>IPasswordHasher</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordHasher(<span class='type'><a class='type' href='#Fx.Fx.Settings.IGlobalSettings'>IGlobalSettings</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHashingSettings'>PasswordHashingSettings</a></span>&gt; settings, <span class='type'><a class='type' href='#Fx.IRandomNumberGeneratorProvider'>IRandomNumberGeneratorProvider</a></span> rngProvider)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Settings { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHashingSettings'>PasswordHashingSettings</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HashPassword(<span class='keyword'>string</span> password) : <span class='keyword'>string</span></li>
<li class='pubmethod code'>VerifyHashedPassword(<span class='keyword'>string</span> hashedPassword, <span class='keyword'>string</span> providedPassword) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordVerificationResult'>PasswordVerificationResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHashingSettings'>
<div class='header class'>
<span >PasswordHashingSettings</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordHashingSettings()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DerivedKeyLength { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>IterationCount { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>KeyDerivationFunction { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>KeyDerivationPrf</span></li>
<li class='pubproperty code'>SaltSize { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Clone() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHashingSettings'>PasswordHashingSettings</a></span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Default : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHashingSettings'>PasswordHashingSettings</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHistory'>
<div class='header class'>
<span >PasswordHistory : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordHistory()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>HashedPassword { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>User { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TUser</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>
<div class='header class'>
<span >PasswordReset : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordReset()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ResetToken { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ResetTokenExpires { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DateTimeOffset</span></li>
<li class='pubproperty code'>User { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>TUser</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordResetService'>
<div class='header class'>
<span >PasswordResetService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'>TContext</span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordResetService'>IPasswordResetService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>PasswordResetService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataSet = <span class='keyword'>null</span>)</li>
<li class='pubmethod code'>PasswordResetService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; servicesFacade, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipDataSetMapping'>IMembershipDataSetMapping</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; dataSetMapping)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordSettings'>
<div class='header class'>
<span >PasswordSettings</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordSettings()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DaysToExpiry { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubproperty code'>RequireDigit { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>RequiredMinimumLength { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>RequiredPasswordHistoryDepth { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>RequireLowercase { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>RequireNonAlphanumeric { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>RequireNonRepeat { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>RequireUppercase { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>UsePasswordSettings { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Clone() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordSettings'>PasswordSettings</a></span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Default : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordSettings'>PasswordSettings</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>
<div class='header class'>
<span >PasswordValidationError : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>ExistsInHistory : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>PasswordValidationError</a></span></li>
<li class='pubfield code'><span class='static'></span>None : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>PasswordValidationError</a></span></li>
<li class='pubfield code'><span class='static'></span>PasswordToShort : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>PasswordValidationError</a></span></li>
<li class='pubfield code'><span class='static'></span>RequiredDigit : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>PasswordValidationError</a></span></li>
<li class='pubfield code'><span class='static'></span>RequiresLowercase : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>PasswordValidationError</a></span></li>
<li class='pubfield code'><span class='static'></span>RequiresNonAlphanumeric : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>PasswordValidationError</a></span></li>
<li class='pubfield code'><span class='static'></span>RequiresUppercase : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>PasswordValidationError</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationResult'>
<div class='header class'>
<span >PasswordValidationResult : <span class='type'>ValueType</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordValidationResult(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>PasswordValidationError</a></span>[] results)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Errors { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationError'>PasswordValidationError</a></span>[]</li>
<li class='pubproperty code'>Success { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidator'>
<div class='header class'>
<span >PasswordValidator</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordValidator'>IPasswordValidator</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordValidator(<span class='type'><a class='type' href='#Fx.Fx.Settings.IGlobalSettings'>IGlobalSettings</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordSettings'>PasswordSettings</a></span>&gt; settings, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedMembershipService, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordHasher'>IPasswordHasher</a></span> passwordHasher)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ValidatePassword(<span class='keyword'>string</span> password, <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt; userId = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationResult'>PasswordValidationResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.PasswordVerificationResult'>
<div class='header class'>
<span >PasswordVerificationResult : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Failed : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordVerificationResult'>PasswordVerificationResult</a></span></li>
<li class='pubfield code'><span class='static'></span>Success : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordVerificationResult'>PasswordVerificationResult</a></span></li>
<li class='pubfield code'><span class='static'></span>SuccessRehashNeeded : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordVerificationResult'>PasswordVerificationResult</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.TrustedPasswordService'>
<div class='header class'>
<span >TrustedPasswordService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.ITrustedPasswordService'>ITrustedPasswordService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>TrustedPasswordService(<span class='type'>TContext</span> context, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordHasher'>IPasswordHasher</a></span> hasher, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedMembershipService, <span class='type'><a class='type' href='#Fx.Fx.Settings.IGlobalSettings'>IGlobalSettings</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordSettings'>PasswordSettings</a></span>&gt; settings)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreatePasswordHistoryAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHistory'>PasswordHistory</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; passwordHistory, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>SetPasswordAsync(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> password, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Passwords.Builders'>
<h3 class='expander active'>Fx.Membership.Passwords.Builders</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Builders.PasswordHistoryEntityTypeBuilder'>
<div class='header class'>
<span >PasswordHistoryEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordHistory'>PasswordHistory</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordHistoryEntityTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Builders.PasswordResetEntityTypeBuilder'>
<div class='header class'>
<span >PasswordResetEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordResetEntityTypeBuilder(<span class='keyword'>string</span> logicalGroup, <span class='keyword'>string</span> schema)</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Passwords.Controllers'>
<h3 class='expander active'>Fx.Membership.Passwords.Controllers</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Controllers.PasswordsController'>
<div class='header class'>
<span >PasswordsController : <span class='type'><a class='type' href='#Fx.Fx.Api.ApiControllerBase'>ApiControllerBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordsController(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator, <span class='type'>ResourceManager</span> resourceManager, <span class='keyword'>string</span> errorCategory)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ErrorCategory { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Mediator { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span></li>
<li class='pubproperty code'>ResourceManager { <span class='keyword'>get</span>; } : <span class='type'>ResourceManager</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>PasswordPolicyCheck(<span class='type'>TValidateRequest</span> request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
<li class='pubmethod code'>PasswordReset(<span class='type'>TResetRequest</span> request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
<li class='pubmethod code'>PasswordResetVerification(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationRequest'>PasswordResetVerificationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Passwords.Handlers'>
<h3 class='expander active'>Fx.Membership.Passwords.Handlers</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetRequest'>
<div class='header class'>
<span >PasswordResetRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResult'>PasswordResetResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordResetRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Password { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ResetToken { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetRequestHandler'>
<div class='header class'>
<span >PasswordResetRequestHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetRequest'>PasswordResetRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResult'>PasswordResetResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordResetRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedSecurityService, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.ITrustedPasswordService'>ITrustedPasswordService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedPasswordService, <span class='type'><a class='type' href='#Fx.Fx.Messaging.ITrustedMessageService'>ITrustedMessageService</a></span> trustedMessageService, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenValidator'>ITokenValidator</a></span> tokenValidator, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span> tokenProvider, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory, <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock, <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span> builder, <span class='type'><a class='type' href='#Fx.Fx.Messaging.IMessageViewModelFactory'>IMessageViewModelFactory</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; viewModelFactory, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordValidator'>IPasswordValidator</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; passwordValidator, <span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipMessagingOptions'>MembershipMessagingOptions</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; messagingOptions, <span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationOptions'>AuthenticationOptions</a></span>&gt; authOptions, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; membershipIdProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.IChangeUserIdResolver'>IChangeUserIdResolver</a></span> changeUserIdResolver)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetRequest'>PasswordResetRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResult'>PasswordResetResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResult'>
<div class='header class'>
<span >PasswordResetResult : <span class='type'><a class='type' href='#Fx.Fx.Mediator.Result'>Result</a></span></span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AccessToken { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>RefreshToken { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResultType'>PasswordResetResultType</a></span></li>
<li class='pubproperty code'>User { <span class='keyword'>get</span>; } : <span class='type'>TUser</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>ExpiredResetToken() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResult'>PasswordResetResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>InvalidResetToken() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResult'>PasswordResetResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>PasswordPolicyFailure() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResult'>PasswordResetResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>Success(<span class='keyword'>string</span> accessToken, <span class='keyword'>string</span> refreshToken, <span class='type'>TUser</span> user) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResult'>PasswordResetResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResultType'>
<div class='header class'>
<span >PasswordResetResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>ExpiredResetToken : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResultType'>PasswordResetResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>InvalidResetToken : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResultType'>PasswordResetResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>PasswordPolicyFailure : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResultType'>PasswordResetResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>Success : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetResultType'>PasswordResetResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationRequest'>
<div class='header class'>
<span >PasswordResetVerificationRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResult'>PasswordResetVerificationResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordResetVerificationRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>EmailAddress { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Scheme { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationRequestHandler'>
<div class='header class'>
<span >PasswordResetVerificationRequestHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationRequest'>PasswordResetVerificationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResult'>PasswordResetVerificationResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordResetVerificationRequestHandler(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; trustedSecurityService, <span class='type'><a class='type' href='#Fx.Fx.Messaging.ITrustedMessageService'>ITrustedMessageService</a></span> trustedMessageService, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span> tokenProvider, <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span> builder, <span class='type'><a class='type' href='#Fx.Fx.Messaging.IMessageViewModelFactory'>IMessageViewModelFactory</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordReset'>PasswordReset</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; viewModelFactory, <span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipMessagingOptions'>MembershipMessagingOptions</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt; messagingOptions, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; membershipIdProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.IChangeUserIdResolver'>IChangeUserIdResolver</a></span> changeUserIdResolver)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationRequest'>PasswordResetVerificationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResult'>PasswordResetVerificationResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResult'>
<div class='header class'>
<span >PasswordResetVerificationResult : <span class='type'><a class='type' href='#Fx.Fx.Mediator.Result'>Result</a></span></span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Expires { <span class='keyword'>get</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResultType'>PasswordResetVerificationResultType</a></span></li>
<li class='pubproperty code'>User { <span class='keyword'>get</span>; } : <span class='type'>TUser</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>Success(<span class='type'>DateTimeOffset</span> expires, <span class='type'>TUser</span> user) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResult'>PasswordResetVerificationResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
<li class='pubmethod code'><span class='static'></span>UnknownAccount() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResult'>PasswordResetVerificationResult</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResultType'>
<div class='header class'>
<span >PasswordResetVerificationResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Success : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResultType'>PasswordResetVerificationResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>UnknownAccount : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordResetVerificationResultType'>PasswordResetVerificationResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordValidationRequest'>
<div class='header class'>
<span >PasswordValidationRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationResult'>PasswordValidationResult</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordValidationRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Password { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Scheme { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordValidationRequestHandler'>
<div class='header class'>
<span >PasswordValidationRequestHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordValidationRequest'>PasswordValidationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationResult'>PasswordValidationResult</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PasswordValidationRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.IPasswordValidator'>IPasswordValidator</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; passwordValidator)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.Fx.Membership.Passwords.Handlers.PasswordValidationRequest'>PasswordValidationRequest</a></span>&lt;<span class='type'>TUser</span>, <span class='type'>TRole</span>&gt; request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Passwords.PasswordValidationResult'>PasswordValidationResult</a></span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Membership.Tokens'>
<h3 class='expander active'>Fx.Membership.Tokens</h3><div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>
<div class='header interface'>
<span >ITokenProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetAccessToken(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>Claim</span>[] claims) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span></li>
<li class='pubmethod code'>GetPasswordResetToken(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='keyword'>bool</span> isWelcomeEmail, <span class='type'>Claim</span>[] claims) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span></li>
<li class='pubmethod code'>GetRefreshToken(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>Claim</span>[] claims) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span></li>
<li class='pubmethod code'>GetToken(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; expires = <span class='keyword'>null</span>, <span class='type'>Claim</span>[] claims) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.ITokenValidator'>
<div class='header interface'>
<span >ITokenValidator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ValidateToken(<span class='keyword'>string</span> token, <span class='keyword'>string</span> tokenType) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResult'>TokenValidationResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.JwtAuthenticationHandler'>
<div class='header class'>
<span >JwtAuthenticationHandler : <span class='type'>AuthenticationHandler</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.JwtAuthenticationHandlerOptions'>JwtAuthenticationHandlerOptions</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>JwtAuthenticationHandler(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenValidator'>ITokenValidator</a></span> tokenValidator, <span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityService'>IIdentityService</a></span> identityService, <span class='type'>IOptionsMonitor</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.JwtAuthenticationHandlerOptions'>JwtAuthenticationHandlerOptions</a></span>&gt; options, <span class='type'>ILoggerFactory</span> logger, <span class='type'>UrlEncoder</span> encoder, <span class='type'>ISystemClock</span> clock, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipServiceProvider'>IMembershipServiceProvider</a></span> serviceProvider)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.JwtAuthenticationHandlerOptions'>
<div class='header class'>
<span >JwtAuthenticationHandlerOptions : <span class='type'>AuthenticationSchemeOptions</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>JwtAuthenticationHandlerOptions()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.JwtTokenProvider'>
<div class='header class'>
<span >JwtTokenProvider</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>JwtTokenProvider(<span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationOptions'>AuthenticationOptions</a></span>&gt; options, <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetAccessToken(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>Claim</span>[] claims) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span></li>
<li class='pubmethod code'>GetPasswordResetToken(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='keyword'>bool</span> isWelcomeEmail, <span class='type'>Claim</span>[] claims) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span></li>
<li class='pubmethod code'>GetRefreshToken(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>Claim</span>[] claims) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span></li>
<li class='pubmethod code'>GetToken(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; expires = <span class='keyword'>null</span>, <span class='type'>Claim</span>[] claims) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.JwtTokenValidator'>
<div class='header class'>
<span >JwtTokenValidator</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenValidator'>ITokenValidator</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>JwtTokenValidator(<span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock, <span class='type'>IOptions</span>&lt;<span class='type'>TokenValidationParameters</span>&gt; tokenValidationParameterOptions, <span class='type'>ILogger</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.JwtTokenValidator'>JwtTokenValidator</a></span>&gt; logger)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ValidateToken(<span class='keyword'>string</span> token, <span class='keyword'>string</span> tokenType) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResult'>TokenValidationResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.RenewTokenMiddleware'>
<div class='header class'>
<span >RenewTokenMiddleware</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RenewTokenMiddleware(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.ITokenProvider'>ITokenProvider</a></span> tokenProvider, <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock, <span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Authentication.AuthenticationOptions'>AuthenticationOptions</a></span>&gt; options, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipServiceProvider'>IMembershipServiceProvider</a></span> serviceProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>InvokeAsync(<span class='type'>HttpContext</span> context, <span class='type'>RequestDelegate</span> next) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>
<div class='header class'>
<span >TokenResult : <span class='type'>ValueType</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>TokenResult(<span class='keyword'>string</span> token, <span class='type'>DateTimeOffset</span> expires)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Expires { <span class='keyword'>get</span>; } : <span class='type'>DateTimeOffset</span></li>
<li class='pubproperty code'>HasValue { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Token { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Empty : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenResult'>TokenResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResult'>
<div class='header class'>
<span >TokenValidationResult</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Claims { <span class='keyword'>get</span>; } : <span class='type'>Claim</span>[]</li>
<li class='pubproperty code'>Principal { <span class='keyword'>get</span>; } : <span class='type'>ClaimsPrincipal</span></li>
<li class='pubproperty code'>ResultType { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResultType'>TokenValidationResultType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>ExpiredToken() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResult'>TokenValidationResult</a></span></li>
<li class='pubmethod code'><span class='static'></span>InvalidToken() : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResult'>TokenValidationResult</a></span></li>
<li class='pubmethod code'><span class='static'></span>Success(<span class='type'>ClaimsPrincipal</span> principal, <span class='type'>Claim</span>[] claims) : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResult'>TokenValidationResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResultType'>
<div class='header class'>
<span >TokenValidationResultType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>ExpiredToken : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResultType'>TokenValidationResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>InvalidToken : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResultType'>TokenValidationResultType</a></span></li>
<li class='pubfield code'><span class='static'></span>Success : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Tokens.TokenValidationResultType'>TokenValidationResultType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Messaging'>
<h3 class='expander active'>Fx.Messaging</h3><div>
<div class='objectBox' id='Fx.Fx.Messaging.Attachment'>
<div class='header class'>
<span >Attachment : <span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentEntityBase'>AttachmentEntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Attachment()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AttachmentWithContent { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentWithContent'>AttachmentWithContent</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.AttachmentEntityBase'>
<div class='header class'>
<span >AttachmentEntityBase : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>AttachmentEntityBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ContentType { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>FileName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>HasContent { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Message { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span></li>
<li class='pubproperty code'>MessageId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.AttachmentEntityTypeBuilder'>
<div class='header class'>
<span >AttachmentEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentEntityTypeBuilderBase'>AttachmentEntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Attachment'>Attachment</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AttachmentEntityTypeBuilder()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.AttachmentEntityTypeBuilderBase'>
<div class='header class'>
<span >AttachmentEntityTypeBuilderBase : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'>TAttachment</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AttachmentEntityTypeBuilderBase(<span class='keyword'>string</span> table)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.AttachmentWithContent'>
<div class='header class'>
<span >AttachmentWithContent : <span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentEntityBase'>AttachmentEntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AttachmentWithContent()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Attachment { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Messaging.Attachment'>Attachment</a></span></li>
<li class='pubproperty code'>Content { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Byte</span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.AttachmentWithContentEntityTypeBuilder'>
<div class='header class'>
<span >AttachmentWithContentEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentEntityTypeBuilderBase'>AttachmentEntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentWithContent'>AttachmentWithContent</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AttachmentWithContentEntityTypeBuilder()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.DefaultMessageViewModelFactory'>
<div class='header class'>
<span >DefaultMessageViewModelFactory : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageViewModelFactoryBase'>MessageViewModelFactoryBase</a></span>&lt;<span class='type'>T</span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DefaultMessageViewModelFactory(<span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingOptions'>MessagingOptions</a></span>&gt; options)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.DispatcherResult'>
<div class='header class'>
<span >DispatcherResult : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Failed : <span class='type'><a class='type' href='#Fx.Fx.Messaging.DispatcherResult'>DispatcherResult</a></span></li>
<li class='pubfield code'><span class='static'></span>Invalid : <span class='type'><a class='type' href='#Fx.Fx.Messaging.DispatcherResult'>DispatcherResult</a></span></li>
<li class='pubfield code'><span class='static'></span>Sent : <span class='type'><a class='type' href='#Fx.Fx.Messaging.DispatcherResult'>DispatcherResult</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
<li class='pubfield code'><span class='static'></span>WillNotSend : <span class='type'><a class='type' href='#Fx.Fx.Messaging.DispatcherResult'>DispatcherResult</a></span></li>
<li class='pubfield code'><span class='static'></span>WillRetry : <span class='type'><a class='type' href='#Fx.Fx.Messaging.DispatcherResult'>DispatcherResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.DispatcherService'>
<div class='header class'>
<span >DispatcherService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Messaging.IDispatcherService'>IDispatcherService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DispatcherService(<span class='type'><a class='type' href='#Fx.Fx.Messaging.ITrustedMessageService'>ITrustedMessageService</a></span> trustedMessageService, <span class='type'>ILogger</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.DispatcherService'>DispatcherService</a></span>&gt; logger, <span class='type'><a class='type' href='#Fx.Fx.Messaging.ISmtpProvider'>ISmtpProvider</a></span> smtpProvider, <span class='type'><a class='type' href='#Fx.Fx.Messaging.IRecipientFilterService'>IRecipientFilterService</a></span> filterService)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>DispatchAsync(<span class='keyword'>int</span> messageId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.DispatcherResult'>DispatcherResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.EmailAddress'>
<div class='header class'>
<span >EmailAddress</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>EmailAddress()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Email { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Messaging.EmailAddress'>EmailAddress</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Messaging.EmailAddress'>EmailAddress</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.IDispatcherService'>
<div class='header interface'>
<span >IDispatcherService</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>DispatchAsync(<span class='keyword'>int</span> messageId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.DispatcherResult'>DispatcherResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.IMessageBuilderFactory'>
<div class='header interface'>
<span >IMessageBuilderFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateBuilder() : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.IMessageService'>
<div class='header interface noMembers'>
<span >IMessageService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.IMessageViewModelFactory'>
<div class='header interface'>
<span >IMessageViewModelFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateViewModel() : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageViewModel'>MessageViewModel</a></span></li>
<li class='pubmethod code'>CreateViewModel(<span class='type'>T</span> model) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageViewModel'>MessageViewModel</a></span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.IRecipientFilterService'>
<div class='header interface'>
<span >IRecipientFilterService</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>IsFiltered(<span class='keyword'>string</span> email) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.ISmtpProvider'>
<div class='header interface'>
<span >ISmtpProvider</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>DispatchAsync(<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span> message, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.DispatcherResult'>DispatcherResult</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.ITrustedMessageService'>
<div class='header interface'>
<span >ITrustedMessageService</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetAttachmentAsync(<span class='keyword'>int</span> attachmentId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Attachment'>Attachment</a></span>&gt;</li>
<li class='pubmethod code'>GetAttachmentsAsync(<span class='keyword'>int</span> messageId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Attachment'>Attachment</a></span>[]&gt;</li>
<li class='pubmethod code'>GetAttachmentsWithContentAsync(<span class='keyword'>int</span> messageId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentWithContent'>AttachmentWithContent</a></span>[]&gt;</li>
<li class='pubmethod code'>GetAttachmentWithContentAsync(<span class='keyword'>int</span> attachmentId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentWithContent'>AttachmentWithContent</a></span>&gt;</li>
<li class='pubmethod code'>GetMessageAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;</li>
<li class='pubmethod code'>MarkBlockedAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>MarkFailedAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>MarkRetryAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>MarkSentAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>QueueMessageAsync(<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span> message, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.Message'>
<div class='header class'>
<span >Message : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Message()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Attachments { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Attachment'>Attachment</a></span>&gt;</li>
<li class='pubproperty code'>AttachmentsWithContent { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>ICollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentWithContent'>AttachmentWithContent</a></span>&gt;</li>
<li class='pubproperty code'>Functional { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>HasAttachments { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>HtmlBody { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>MembershipId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Priority { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Messaging.Priority'>Priority</a></span></li>
<li class='pubproperty code'>Recipient { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Messaging.EmailAddress'>EmailAddress</a></span></li>
<li class='pubproperty code'>ScheduledDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>SendAttempts { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Sender { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Messaging.EmailAddress'>EmailAddress</a></span></li>
<li class='pubproperty code'>SentDateTimeOffset { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt;</li>
<li class='pubproperty code'>Status { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageStatus'>MessageStatus</a></span></li>
<li class='pubproperty code'>Subject { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>TextBody { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UserId { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageBuilder'>
<div class='header class'>
<span >MessageBuilder</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessageBuilder(<span class='type'><a class='type' href='#Fx.Fx.TextTemplating.ITextTemplatingService'>ITextTemplatingService</a></span> textTemplatingService = <span class='keyword'>null</span>, <span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingOptions'>MessagingOptions</a></span>&gt; options = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Attachment(<span class='keyword'>string</span> fileName, <span class='keyword'>string</span> contentType, <span class='type'>Byte</span>[] content) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>Build() : <span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span></li>
<li class='pubmethod code'>ForUser(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> membershipId = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>HighPriority() : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>Html(<span class='keyword'>string</span> html) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>HtmlTemplate(<span class='keyword'>string</span> name, <span class='keyword'>string</span> category = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>HtmlTemplate&lt;<span class='type'>TModel</span>&gt;(<span class='keyword'>string</span> name, <span class='keyword'>string</span> category = <span class='keyword'>null</span>, <span class='type'>TModel</span> model = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>IsFunctional() : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>LowPriority() : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>SendAt(<span class='type'>DateTimeOffset</span> dateTimeOffset) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>SendFrom(<span class='keyword'>string</span> email, <span class='keyword'>string</span> name = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>SendTo(<span class='keyword'>string</span> email, <span class='keyword'>string</span> name = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>Subject(<span class='keyword'>string</span> subject) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>Text(<span class='keyword'>string</span> text) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>TextTemplate(<span class='keyword'>string</span> name, <span class='keyword'>string</span> category = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>TextTemplate&lt;<span class='type'>TModel</span>&gt;(<span class='keyword'>string</span> name, <span class='keyword'>string</span> category = <span class='keyword'>null</span>, <span class='type'>TModel</span> model = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
<li class='pubmethod code'>Validate() : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageBuilderFactory'>
<div class='header class'>
<span >MessageBuilderFactory</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Messaging.IMessageBuilderFactory'>IMessageBuilderFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessageBuilderFactory(<span class='type'><a class='type' href='#Fx.Fx.TextTemplating.ITextTemplatingService'>ITextTemplatingService</a></span> textTemplatingService, <span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingOptions'>MessagingOptions</a></span>&gt; options)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateBuilder() : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageBuilder'>MessageBuilder</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageEntityTypeBuilder'>
<div class='header class'>
<span >MessageEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessageEntityTypeBuilder()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageService'>
<div class='header class'>
<span >MessageService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingDbContext'>MessagingDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Messaging.IMessageService'>IMessageService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessageService(<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingDbContext'>MessagingDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt; servicesFacade)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageStatus'>
<div class='header class'>
<span >MessageStatus : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Blocked : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageStatus'>MessageStatus</a></span></li>
<li class='pubfield code'><span class='static'></span>Failed : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageStatus'>MessageStatus</a></span></li>
<li class='pubfield code'><span class='static'></span>Pending : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageStatus'>MessageStatus</a></span></li>
<li class='pubfield code'><span class='static'></span>Sent : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageStatus'>MessageStatus</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageValidationException'>
<div class='header class'>
<span >MessageValidationException : <span class='type'>Exception</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessageValidationException(<span class='keyword'>string</span> message, <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageValidationResult'>MessageValidationResult</a></span> result)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Result { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageValidationResult'>MessageValidationResult</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageValidationResult'>
<div class='header class'>
<span >MessageValidationResult</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessageValidationResult()</li>
<li class='pubmethod code'>MessageValidationResult(<span class='keyword'>bool</span> body = False, <span class='keyword'>bool</span> recipient = False, <span class='keyword'>bool</span> sender = False)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Body { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Recipient { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Sender { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Valid { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageViewModel'>
<div class='header class'>
<span >MessageViewModel</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessageViewModel()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>BaseUrl { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageViewModel'>
<div class='header class'>
<span >MessageViewModel : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageViewModel'>MessageViewModel</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessageViewModel()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Model { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>T</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessageViewModelFactoryBase'>
<div class='header class'>
<span >MessageViewModelFactoryBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Messaging.IMessageViewModelFactory'>IMessageViewModelFactory</a></span>&lt;<span class='type'>T</span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>MessageViewModelFactoryBase(<span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingOptions'>MessagingOptions</a></span>&gt; options)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateViewModel() : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageViewModel'>MessageViewModel</a></span></li>
<li class='pubmethod code'>CreateViewModel(<span class='type'>T</span> model) : <span class='type'><a class='type' href='#Fx.Fx.Messaging.MessageViewModel'>MessageViewModel</a></span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessagingConstants'>
<div class='header class'>
<span >MessagingConstants</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>ConfigurationKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>DatabaseSchema : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>LogicalGroup : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>MessageAttempts : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessagingDataSets'>
<div class='header class'>
<span >MessagingDataSets</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Messages : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessagingDbContext'>
<div class='header class'>
<span >MessagingDbContext : <span class='type'><a class='type' href='#Fx.Fx.Data.DbContextBase'>DbContextBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingDbContext'>MessagingDbContext</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessagingDbContext(<span class='type'>DbContextOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingDbContext'>MessagingDbContext</a></span>&gt; options)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Attachments { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Attachment'>Attachment</a></span>&gt;</li>
<li class='pubproperty code'>AttachmentsWithContent { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentWithContent'>AttachmentWithContent</a></span>&gt;</li>
<li class='pubproperty code'>Messages { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessagingModule'>
<div class='header class'>
<span >MessagingModule : <span class='type'><a class='type' href='#Fx.Fx.Data.DataModuleBase'>DataModuleBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingDbContext'>MessagingDbContext</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span>, <span class='type'><a class='type' href='#Fx.IDataSetProvider'>IDataSetProvider</a></span>, <span class='type'><a class='type' href='#Fx.IPermissionProvider'>IPermissionProvider</a></span>, <span class='type'><a class='type' href='#Fx.IPermissionConventionProvider'>IPermissionConventionProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessagingModule()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
<li class='pubmethod code'>GetDataSets() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>&gt;</li>
<li class='pubmethod code'>GetPermissionConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span>&gt;</li>
<li class='pubmethod code'>GetPermissions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessagingOptions'>
<div class='header class'>
<span >MessagingOptions</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>MessagingOptions()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Allow { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>String</span>[]</li>
<li class='pubproperty code'>Block { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>String</span>[]</li>
<li class='pubproperty code'>DefaultBaseUrl { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DefaultSenderEmail { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DefaultSenderName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessagingPermissionConventions'>
<div class='header class'>
<span >MessagingPermissionConventions</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Admin : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.MessagingPermissions'>
<div class='header class'>
<span >MessagingPermissions</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>MessageQueue : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
<li class='pubfield code'><span class='static'></span>Messages : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.Priority'>
<div class='header class'>
<span >Priority : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>High : <span class='type'><a class='type' href='#Fx.Fx.Messaging.Priority'>Priority</a></span></li>
<li class='pubfield code'><span class='static'></span>Low : <span class='type'><a class='type' href='#Fx.Fx.Messaging.Priority'>Priority</a></span></li>
<li class='pubfield code'><span class='static'></span>Normal : <span class='type'><a class='type' href='#Fx.Fx.Messaging.Priority'>Priority</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.RecipientFilterService'>
<div class='header class'>
<span >RecipientFilterService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Messaging.IRecipientFilterService'>IRecipientFilterService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RecipientFilterService(<span class='type'>IOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingOptions'>MessagingOptions</a></span>&gt; options)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>IsFiltered(<span class='keyword'>string</span> email) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Messaging.TrustedMessageService'>
<div class='header class'>
<span >TrustedMessageService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Messaging.ITrustedMessageService'>ITrustedMessageService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>TrustedMessageService(<span class='type'><a class='type' href='#Fx.Fx.Messaging.MessagingDbContext'>MessagingDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt; writerFacade, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionContextFactory'>IConnectionContextFactory</a></span> connectionContextFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>AssignAttachmentContentAsync(<span class='keyword'>int</span> attachmentId, <span class='type'>Byte</span>[] content, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>CreateAttachmentAsync(<span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentEntityBase'>AttachmentEntityBase</a></span> attachment, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubmethod code'>GetAttachmentAsync(<span class='keyword'>int</span> attachmentId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Attachment'>Attachment</a></span>&gt;</li>
<li class='pubmethod code'>GetAttachmentsAsync(<span class='keyword'>int</span> messageId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Attachment'>Attachment</a></span>[]&gt;</li>
<li class='pubmethod code'>GetAttachmentsWithContentAsync(<span class='keyword'>int</span> messageId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentWithContent'>AttachmentWithContent</a></span>[]&gt;</li>
<li class='pubmethod code'>GetAttachmentWithContentAsync(<span class='keyword'>int</span> attachmentId, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.AttachmentWithContent'>AttachmentWithContent</a></span>&gt;</li>
<li class='pubmethod code'>GetMessageAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span>&gt;</li>
<li class='pubmethod code'>MarkBlockedAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>MarkFailedAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>MarkRetryAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>MarkSentAsync(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>QueueMessageAsync(<span class='type'><a class='type' href='#Fx.Fx.Messaging.Message'>Message</a></span> message, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>Int32</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Mvc'>
<h3 class='expander active'>Fx.Mvc</h3><div>
<div class='objectBox' id='Fx.Fx.Mvc.CoreApplicationModelConvention'>
<div class='header class'>
<span >CoreApplicationModelConvention</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CoreApplicationModelConvention()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Apply(<span class='type'>ApplicationModel</span> application)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mvc.DiscoverModuleActionFilter'>
<div class='header class'>
<span >DiscoverModuleActionFilter</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DiscoverModuleActionFilter()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>OnActionExecuted(<span class='type'>ActionExecutedContext</span> context)</li>
<li class='pubmethod code'>OnActionExecuting(<span class='type'>ActionExecutingContext</span> context)</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Mvc.ViewFeatures'>
<h3 class='expander active'>Fx.Mvc.ViewFeatures</h3><div>
<div class='objectBox' id='Fx.Fx.Mvc.Fx.Mvc.ViewFeatures.IModuleHelper'>
<div class='header interface'>
<span >IModuleHelper</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Content(<span class='keyword'>string</span> contentPath) : <span class='keyword'>string</span></li>
<li class='pubmethod code'>Content(<span class='keyword'>string</span> moduleName, <span class='keyword'>string</span> contentPath) : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mvc.Fx.Mvc.ViewFeatures.ModuleContentViewLocationExpander'>
<div class='header class'>
<span >ModuleContentViewLocationExpander</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModuleContentViewLocationExpander()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>ExpandViewLocations(<span class='type'>ViewLocationExpanderContext</span> context, <span class='type'>IEnumerable</span>&lt;<span class='type'>String</span>&gt; viewLocations) : <span class='type'>IEnumerable</span>&lt;<span class='type'>String</span>&gt;</li>
<li class='pubmethod code'>PopulateValues(<span class='type'>ViewLocationExpanderContext</span> context)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Mvc.Fx.Mvc.ViewFeatures.ModuleHelper'>
<div class='header class'>
<span >ModuleHelper</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mvc.Fx.Mvc.ViewFeatures.IModuleHelper'>IModuleHelper</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModuleHelper(<span class='type'>IActionContextAccessor</span> actionContextAccessor, <span class='type'>IUrlHelperFactory</span> urlHelperFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Content(<span class='keyword'>string</span> contentPath) : <span class='keyword'>string</span></li>
<li class='pubmethod code'>Content(<span class='keyword'>string</span> moduleName, <span class='keyword'>string</span> contentPath) : <span class='keyword'>string</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Query'>
<h3 class='expander active'>Fx.Query</h3><div>
<div class='objectBox' id='Fx.Fx.Query.AggregateResult'>
<div class='header class'>
<span >AggregateResult : <span class='type'>ValueType</span></span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Count { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Decimal1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Decimal</span></li>
<li class='pubproperty code'>Decimal2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Decimal</span></li>
<li class='pubproperty code'>Decimal3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Decimal</span></li>
<li class='pubproperty code'>Decimal4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Decimal</span></li>
<li class='pubproperty code'>Decimal5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Decimal</span></li>
<li class='pubproperty code'>Double1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>double</span></li>
<li class='pubproperty code'>Double2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>double</span></li>
<li class='pubproperty code'>Double3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>double</span></li>
<li class='pubproperty code'>Double4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>double</span></li>
<li class='pubproperty code'>Double5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>double</span></li>
<li class='pubproperty code'>Int1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Int2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Int3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Int4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Int5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Key { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
<li class='pubproperty code'>Long1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>long</span></li>
<li class='pubproperty code'>Long2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>long</span></li>
<li class='pubproperty code'>Long3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>long</span></li>
<li class='pubproperty code'>Long4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>long</span></li>
<li class='pubproperty code'>Long5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>long</span></li>
<li class='pubproperty code'>NullableDecimal1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Decimal</span>&gt;</li>
<li class='pubproperty code'>NullableDecimal2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Decimal</span>&gt;</li>
<li class='pubproperty code'>NullableDecimal3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Decimal</span>&gt;</li>
<li class='pubproperty code'>NullableDecimal4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Decimal</span>&gt;</li>
<li class='pubproperty code'>NullableDecimal5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Decimal</span>&gt;</li>
<li class='pubproperty code'>NullableDouble1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Double</span>&gt;</li>
<li class='pubproperty code'>NullableDouble2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Double</span>&gt;</li>
<li class='pubproperty code'>NullableDouble3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Double</span>&gt;</li>
<li class='pubproperty code'>NullableDouble4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Double</span>&gt;</li>
<li class='pubproperty code'>NullableDouble5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Double</span>&gt;</li>
<li class='pubproperty code'>NullableInt1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubproperty code'>NullableInt2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubproperty code'>NullableInt3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubproperty code'>NullableInt4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubproperty code'>NullableInt5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubproperty code'>NullableLong1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int64</span>&gt;</li>
<li class='pubproperty code'>NullableLong2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int64</span>&gt;</li>
<li class='pubproperty code'>NullableLong3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int64</span>&gt;</li>
<li class='pubproperty code'>NullableLong4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int64</span>&gt;</li>
<li class='pubproperty code'>NullableLong5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int64</span>&gt;</li>
<li class='pubproperty code'>NullableSingle1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Single</span>&gt;</li>
<li class='pubproperty code'>NullableSingle2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Single</span>&gt;</li>
<li class='pubproperty code'>NullableSingle3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Single</span>&gt;</li>
<li class='pubproperty code'>NullableSingle4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Single</span>&gt;</li>
<li class='pubproperty code'>NullableSingle5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Single</span>&gt;</li>
<li class='pubproperty code'>Single1 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>float</span></li>
<li class='pubproperty code'>Single2 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>float</span></li>
<li class='pubproperty code'>Single3 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>float</span></li>
<li class='pubproperty code'>Single4 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>float</span></li>
<li class='pubproperty code'>Single5 { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>float</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.IQueryService'>
<div class='header interface'>
<span >IQueryService</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Query&lt;<span class='type'>T</span>&gt;(<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt; source, <span class='keyword'>string</span> jsonQuery) : <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>T</span>&gt;&gt;</li>
<li class='pubmethod code'>Query&lt;<span class='type'>T</span>&gt;(<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt; source, <span class='type'>JObject</span> jsonQuery) : <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>T</span>&gt;&gt;</li>
<li class='pubmethod code'>Query&lt;<span class='type'>T</span>&gt;(<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt; source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; query) : <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>T</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.QueryConstants'>
<div class='header class'>
<span >QueryConstants</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>GenerateInclusiveQueriesForDateTimeFlag : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>GenerateInclusiveQueriesForDateTimeOffsetFlag : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>QuerySchema : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.QueryDataSets'>
<div class='header class'>
<span >QueryDataSets</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>StoredQueries : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.QueryModule'>
<div class='header class'>
<span >QueryModule : <span class='type'><a class='type' href='#Fx.Fx.Data.DataModuleBase'>DataModuleBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.QueryDbContext'>QueryDbContext</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span>, <span class='type'><a class='type' href='#Fx.IPermissionConventionProvider'>IPermissionConventionProvider</a></span>, <span class='type'><a class='type' href='#Fx.IPermissionProvider'>IPermissionProvider</a></span>, <span class='type'><a class='type' href='#Fx.IDataSetProvider'>IDataSetProvider</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryModule()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
<li class='pubmethod code'>GetDataSets() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>&gt;</li>
<li class='pubmethod code'>GetPermissionConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span>&gt;</li>
<li class='pubmethod code'>GetPermissions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.QueryPermissionConventions'>
<div class='header class'>
<span >QueryPermissionConventions</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Admin : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.QueryPermissions'>
<div class='header class'>
<span >QueryPermissions</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>StoredQueries : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.QueryService'>
<div class='header class'>
<span >QueryService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.IQueryService'>IQueryService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryService(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IQueryModelFactory'>IQueryModelFactory</a></span> modelFactory, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IQueryExpressionGenerator'>IQueryExpressionGenerator</a></span> expressionGenerator, <span class='type'>IMemoryCache</span> cache, <span class='type'>ILogger</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.QueryService'>QueryService</a></span>&gt; logger)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Query&lt;<span class='type'>T</span>&gt;(<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt; source, <span class='type'>JObject</span> jsonQuery) : <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>T</span>&gt;&gt;</li>
<li class='pubmethod code'>Query&lt;<span class='type'>T</span>&gt;(<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt; source, <span class='keyword'>string</span> jsonQuery) : <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>T</span>&gt;&gt;</li>
<li class='pubmethod code'>Query&lt;<span class='type'>T</span>&gt;(<span class='type'>IQueryable</span>&lt;<span class='type'>T</span>&gt; source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; query) : <span class='type'><a class='type' href='#Fx.Fx.Data.IPager'>IPager</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Record'>Record</a></span>&lt;<span class='type'>T</span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Record'>
<div class='header class'>
<span >Record : <span class='type'>ValueType</span></span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Data { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>T</span></li>
<li class='pubproperty code'>Groups { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Object</span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.TypeExtensions'>
<div class='header class'>
<span >TypeExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>GetTypeCode(<span class='type'>Type</span> type) : <span class='type'>TypeCode</span></li>
<li class='pubmethod code'><span class='static'></span>GetUnderlyingType(<span class='type'>Type</span> type) : <span class='type'>Type</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Query.Linq'>
<h3 class='expander active'>Fx.Query.Linq</h3><div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.AggregateExpressionGenerator'>
<div class='header class'>
<span >AggregateExpressionGenerator : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGeneratorBase'>ExpressionGeneratorBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IAggregateExpressionGenerator'>IAggregateExpressionGenerator</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AggregateExpressionGenerator()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateAggregateExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span> aggregate) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateAggregateProjectionExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span>&gt; aggregates) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>
<div class='header class'>
<span >ExpressionGenerationContext</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExpressionGenerationContext()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Aggregates { <span class='keyword'>get</span>; } : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>PropertyInfo</span>&gt;</li>
<li class='pubproperty code'>GenerateConstants { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>GenerateNullableValueCheck { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Parameters { <span class='keyword'>get</span>; } : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>ParameterExpression</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.ExpressionGeneratorBase'>
<div class='header class'>
<span >ExpressionGeneratorBase</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>ExpressionGeneratorBase()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='protmethod code'>CreateMemberExpression(<span class='type'>Expression</span> last, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> property) : <span class='type'>Expression</span></li>
<li class='protmethod code'>GetOrCreateQueryParameter(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span> model, <span class='type'>Type</span> comparisonType) : <span class='type'>Expression</span></li>
<li class='protmethod code'>ResolveParameterOrConstant(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span> model, <span class='type'>Type</span> comparisonType) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.FilterExpressionGenerator'>
<div class='header class'>
<span >FilterExpressionGenerator : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGeneratorBase'>ExpressionGeneratorBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IFilterExpressionGenerator'>IFilterExpressionGenerator</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FilterExpressionGenerator()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFilterExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateFilterExpression(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>ParameterExpression</span> param, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span> filterBase) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateFilterExpression(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>ParameterExpression</span> param, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupModel'>FilterGroupModel</a></span> filterGroup) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.GroupExpressionGenerator'>
<div class='header class'>
<span >GroupExpressionGenerator : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGeneratorBase'>ExpressionGeneratorBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IGroupExpressionGenerator'>IGroupExpressionGenerator</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GroupExpressionGenerator()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateGroupExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.GroupModel'>GroupModel</a></span> group) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateGroupExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; query) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.IAggregateExpressionGenerator'>
<div class='header interface'>
<span >IAggregateExpressionGenerator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateAggregateExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span> aggregate) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateAggregateProjectionExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span>&gt; aggregates) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.IFilterExpressionGenerator'>
<div class='header interface'>
<span >IFilterExpressionGenerator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFilterExpression(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>ParameterExpression</span> param, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span> filter) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateFilterExpression(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>ParameterExpression</span> param, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupModel'>FilterGroupModel</a></span> filterGroup) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateFilterExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; query) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.IGroupExpressionGenerator'>
<div class='header interface'>
<span >IGroupExpressionGenerator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateGroupExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.GroupModel'>GroupModel</a></span> group) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateGroupExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; query) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.IIncludeExpressionGenerator'>
<div class='header interface'>
<span >IIncludeExpressionGenerator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateIncludeExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateIncludeExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.IncludeExpressionGenerator'>
<div class='header class'>
<span >IncludeExpressionGenerator : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGeneratorBase'>ExpressionGeneratorBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IIncludeExpressionGenerator'>IIncludeExpressionGenerator</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>IncludeExpressionGenerator()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateIncludeExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateIncludeExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> model) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.IQueryExpressionGenerator'>
<div class='header interface'>
<span >IQueryExpressionGenerator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateAggregateExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateCountExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateQueryExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.ISortExpressionGenerator'>
<div class='header interface'>
<span >ISortExpressionGenerator</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateRecordSortExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateRecordSortExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span> model, <span class='keyword'>bool</span> first = True) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateSortExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateSortExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span> model, <span class='keyword'>bool</span> first = True) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.Methods'>
<div class='header class'>
<span >Methods</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>GetEnumerableAverageOpen(<span class='type'>Type</span> returnType) : <span class='type'>MethodInfo</span></li>
<li class='pubmethod code'><span class='static'></span>GetEnumerableSumOpen(<span class='type'>Type</span> returnType) : <span class='type'>MethodInfo</span></li>
<li class='pubmethod code'><span class='static'></span>GetQueryableAverageOpen(<span class='type'>Type</span> returnType) : <span class='type'>MethodInfo</span></li>
<li class='pubmethod code'><span class='static'></span>GetQueryableSumOpen(<span class='type'>Type</span> returnType) : <span class='type'>MethodInfo</span></li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>ArrayContains : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EntityFrameworkQueryableExtensionsIncludeOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableAnyOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableConcatClosedObject : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableContainsOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableCountOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableGroupByOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableMaxOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableMinOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableOrderByDescendingOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableOrderByOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableSelectManyOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableSelectOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableThenByDescendingOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableThenByOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableToArrayClosedObject : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>EnumerableToArrayOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableAsQueryableOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableCountForPredicateOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableCountOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableGroupByOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableMaxOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableMinOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableOrderByDescendingOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableOrderByOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableSelectOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableSkipOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableTakeOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableThenByDescendingOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableThenByOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>QueryableWhereOpen : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>StringContains : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>StringEndsWith : <span class='type'>MethodInfo</span></li>
<li class='pubfield code'><span class='static'></span>StringStartsWith : <span class='type'>MethodInfo</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.QueryExpressionGenerator'>
<div class='header class'>
<span >QueryExpressionGenerator : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGeneratorBase'>ExpressionGeneratorBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IQueryExpressionGenerator'>IQueryExpressionGenerator</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryExpressionGenerator(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IIncludeExpressionGenerator'>IIncludeExpressionGenerator</a></span> includeExpressionGenerator, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IFilterExpressionGenerator'>IFilterExpressionGenerator</a></span> filterExpressionGenerator, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ISortExpressionGenerator'>ISortExpressionGenerator</a></span> sortExpressionGenerator, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IGroupExpressionGenerator'>IGroupExpressionGenerator</a></span> groupExpressionGenerator, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.IAggregateExpressionGenerator'>IAggregateExpressionGenerator</a></span> aggregateExpressionGenerator)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateAggregateExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateCountExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateQueryExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Linq.SortExpressionGenerator'>
<div class='header class'>
<span >SortExpressionGenerator : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGeneratorBase'>ExpressionGeneratorBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ISortExpressionGenerator'>ISortExpressionGenerator</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SortExpressionGenerator()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateRecordSortExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateRecordSortExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span> model, <span class='keyword'>bool</span> first = True) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateSortExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt; model) : <span class='type'>Expression</span></li>
<li class='pubmethod code'>CreateSortExpression&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Linq.ExpressionGenerationContext'>ExpressionGenerationContext</a></span> context, <span class='type'>Expression</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span> model, <span class='keyword'>bool</span> first = True) : <span class='type'>Expression</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Query.Model'>
<h3 class='expander active'>Fx.Query.Model</h3><div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.AggregateModel'>
<div class='header class'>
<span >AggregateModel</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IQueryModelPart'>IQueryModelPart</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AggregateModel(<span class='keyword'>string</span> key, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> property, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateType'>AggregateType</a></span> type)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Key { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Property { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span></li>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateType'>AggregateType</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='keyword'>object</span> obj) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span> other) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateCacheHashcode() : <span class='keyword'>long</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.AggregateModelFactory'>
<div class='header class'>
<span >AggregateModelFactory : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ModelFactoryBase'>ModelFactoryBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IAggregateModelFactory'>IAggregateModelFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AggregateModelFactory(<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> modelMetadataProvider, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IPropertyModelFactory'>IPropertyModelFactory</a></span> propertyModelFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateAggregateModel&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='keyword'>string</span> key, <span class='type'>JObject</span> source) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.AggregateType'>
<div class='header class'>
<span >AggregateType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Average : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateType'>AggregateType</a></span></li>
<li class='pubfield code'><span class='static'></span>Max : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateType'>AggregateType</a></span></li>
<li class='pubfield code'><span class='static'></span>Min : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateType'>AggregateType</a></span></li>
<li class='pubfield code'><span class='static'></span>Sum : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateType'>AggregateType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.FilterGroupLogic'>
<div class='header class'>
<span >FilterGroupLogic : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>And : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupLogic'>FilterGroupLogic</a></span></li>
<li class='pubfield code'><span class='static'></span>Or : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupLogic'>FilterGroupLogic</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.FilterGroupModel'>
<div class='header class'>
<span >FilterGroupModel : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FilterGroupModel(<span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span>&gt; filters, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupLogic'>FilterGroupLogic</a></span> logic)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Filters { <span class='keyword'>get</span>; } : <span class='type'>ReadOnlyCollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span>&gt;</li>
<li class='pubproperty code'>Logic { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupLogic'>FilterGroupLogic</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupModel'>FilterGroupModel</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupModel'>FilterGroupModel</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.FilterModel'>
<div class='header class'>
<span >FilterModel : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IQueryModelPart'>IQueryModelPart</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FilterModel(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> property, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span> op, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span> parameter)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Operator { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubproperty code'>Parameter { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span></li>
<li class='pubproperty code'>Property { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModel'>FilterModel</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModel'>FilterModel</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>
<div class='header class'>
<span >FilterModelBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IQueryModelPart'>IQueryModelPart</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>FilterModelBase()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ForceConstants { <span class='keyword'>get</span>; <span class='keyword'>protected</span> <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='keyword'>object</span> obj) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span> other) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateCacheHashcode() : <span class='keyword'>long</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.FilterModelFactory'>
<div class='header class'>
<span >FilterModelFactory : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ModelFactoryBase'>ModelFactoryBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IFilterModelFactory'>IFilterModelFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>FilterModelFactory(<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> modelMetadataProvider, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IPropertyModelFactory'>IPropertyModelFactory</a></span> propertyModelFactory, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IParameterModelFactory'>IParameterModelFactory</a></span> parameterModelFactory, <span class='type'><a class='type' href='#Fx.IFlags'>IFlags</a></span> flags, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.IValueGenerationModelConvention'>IValueGenerationModelConvention</a></span>&gt; conventions)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFilterGroupModel&lt;<span class='type'>U</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'>JArray</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupLogic'>FilterGroupLogic</a></span> logic) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupModel'>FilterGroupModel</a></span></li>
<li class='pubmethod code'>CreateFilterModel&lt;<span class='type'>U</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'>JObject</span> source) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.FilterOperator'>
<div class='header class'>
<span >FilterOperator : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Between : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>Contains : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>DoesNotContain : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>DoesNotEndWith : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>DoesNotStartWith : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>EndsWith : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>Equal : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>False : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>GreaterThan : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>GreaterThanEqualTo : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>In : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>InlineList : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>IsNotNull : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>IsNull : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>LessThan : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>LessThanEqualTo : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>NotBetween : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>NotEqual : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>NotIn : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>StartsWith : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'><span class='static'></span>True : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.GroupModel'>
<div class='header class'>
<span >GroupModel : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IQueryModelPart'>IQueryModelPart</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GroupModel(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> property, <span class='keyword'>int</span> index, <span class='keyword'>bool</span> descending = False)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Index { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.GroupModelFactory'>
<div class='header class'>
<span >GroupModelFactory : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ModelFactoryBase'>ModelFactoryBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IGroupModelFactory'>IGroupModelFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GroupModelFactory(<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> modelMetadataProvider, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IPropertyModelFactory'>IPropertyModelFactory</a></span> propertyModelFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateGroupModel&lt;<span class='type'>U</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'>JObject</span> source, <span class='keyword'>int</span> index) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.GroupModel'>GroupModel</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.IAggregateModelFactory'>
<div class='header interface'>
<span >IAggregateModelFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateAggregateModel&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='keyword'>string</span> key, <span class='type'>JObject</span> source) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.IFilterModelFactory'>
<div class='header interface'>
<span >IFilterModelFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateFilterGroupModel&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'>JArray</span> source, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupLogic'>FilterGroupLogic</a></span> logic) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterGroupModel'>FilterGroupModel</a></span></li>
<li class='pubmethod code'>CreateFilterModel&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'>JObject</span> source) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.IGroupModelFactory'>
<div class='header interface'>
<span >IGroupModelFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateGroupModel&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'>JObject</span> source, <span class='keyword'>int</span> index) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.GroupModel'>GroupModel</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.IParameterModelFactory'>
<div class='header interface'>
<span >IParameterModelFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateParameterModel(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> property) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span></li>
<li class='pubmethod code'>CreateParameterModel(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> property, <span class='keyword'>object</span> value, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span> mode) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span></li>
<li class='pubmethod code'>CreateParameterModel&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='keyword'>string</span> propertyPath) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span></li>
<li class='pubmethod code'>CreateParameterModel&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='keyword'>string</span> propertyPath, <span class='keyword'>object</span> value, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span> mode) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.IPropertyModelFactory'>
<div class='header interface'>
<span >IPropertyModelFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreatePropertyModel&lt;<span class='type'>U</span>&gt;(<span class='keyword'>string</span> propertyPath) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.IQueryModelFactory'>
<div class='header interface'>
<span >IQueryModelFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateQueryModel&lt;<span class='type'>T</span>&gt;(<span class='type'>JObject</span> source) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.IQueryModelPart'>
<div class='header interface'>
<span >IQueryModelPart</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GenerateCacheHashcode() : <span class='keyword'>long</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.ISortModelFactory'>
<div class='header interface'>
<span >ISortModelFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateSortModel&lt;<span class='type'>T</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'>JObject</span> source) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.JObjectExtensions'>
<div class='header class'>
<span >JObjectExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>NodeAs&lt;<span class='type'>J</span>&gt;(<span class='type'>JObject</span> node, <span class='keyword'>string</span> name) : <span class='type'>J</span></li>
<li class='pubmethod code'><span class='static'></span>ToTypeArray(<span class='type'>IJEnumerable</span>&lt;<span class='type'>JToken</span>&gt; source, <span class='type'>Type</span> elementType) : <span class='type'>Array</span></li>
<li class='pubmethod code'><span class='static'></span>ValueAs&lt;<span class='type'>T</span>&gt;(<span class='type'>JObject</span> node, <span class='keyword'>string</span> name) : <span class='type'>T</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.JsonStructureConstants'>
<div class='header class'>
<span >JsonStructureConstants</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>JsonStructureConstants()</li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>AggregatesField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>AggregateTypeField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>AndField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>DescendingField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>FieldField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>FiltersField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>GroupField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>IncludeField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>OpField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>OrField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>PageField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>SizeField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>SortField : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ValueField : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.ModelFactoryBase'>
<div class='header class'>
<span >ModelFactoryBase</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ModelFactoryBase(<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> modelMetadataProvider)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ModelMetadataProvider { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.ParameterMode'>
<div class='header class'>
<span >ParameterMode : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>None : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span></li>
<li class='pubfield code'><span class='static'></span>Pair : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span></li>
<li class='pubfield code'><span class='static'></span>Set : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span></li>
<li class='pubfield code'><span class='static'></span>Single : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.ParameterModel'>
<div class='header class'>
<span >ParameterModel</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ParameterModel(<span class='keyword'>string</span> name, <span class='type'>Type</span> type)</li>
<li class='pubmethod code'>ParameterModel(<span class='keyword'>string</span> name, <span class='type'>Type</span> type, <span class='keyword'>object</span> value, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span> mode)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>HasValue { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Mode { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
<li class='pubproperty code'>Value { <span class='keyword'>get</span>; } : <span class='keyword'>object</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='keyword'>object</span> obj) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.ParameterModelFactory'>
<div class='header class'>
<span >ParameterModelFactory : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ModelFactoryBase'>ModelFactoryBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IParameterModelFactory'>IParameterModelFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ParameterModelFactory(<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> modelMetadataProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateParameterModel(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> property) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span></li>
<li class='pubmethod code'>CreateParameterModel(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> property, <span class='keyword'>object</span> value, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span> mode) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span></li>
<li class='pubmethod code'>CreateParameterModel&lt;<span class='type'>U</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='keyword'>string</span> propertyPath) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span></li>
<li class='pubmethod code'>CreateParameterModel&lt;<span class='type'>U</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='keyword'>string</span> propertyPath, <span class='keyword'>object</span> value, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterMode'>ParameterMode</a></span> mode) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.PropertyModel'>
<div class='header class'>
<span >PropertyModel</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IQueryModelPart'>IQueryModelPart</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PropertyModel(<span class='keyword'>string</span> name, <span class='keyword'>string</span> path, <span class='type'>Type</span> type)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>IsMixinProperty { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>IsMixinRoot { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>MixinPropertyName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>MixinType { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Type</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Nullable { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Parent { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span></li>
<li class='pubproperty code'>Path { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>PreservedName { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
<li class='pubproperty code'>TypeCode { <span class='keyword'>get</span>; } : <span class='type'>TypeCode</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='keyword'>object</span> obj) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> other) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateCacheHashcode() : <span class='keyword'>long</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.PropertyModelFactory'>
<div class='header class'>
<span >PropertyModelFactory : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ModelFactoryBase'>ModelFactoryBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IPropertyModelFactory'>IPropertyModelFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PropertyModelFactory(<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> modelMetadataProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreatePropertyModel&lt;<span class='type'>U</span>&gt;(<span class='keyword'>string</span> propertyPath) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>
<div class='header class'>
<span >QueryGenerationContext</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryGenerationContext()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Parameters { <span class='keyword'>get</span>; } : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span>&gt;</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>AddParameter(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span> parameter)</li>
<li class='pubmethod code'>AllocateParameterName() : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.QueryModel'>
<div class='header class'>
<span >QueryModel</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IQueryModelPart'>IQueryModelPart</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryModel(<span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span>&gt; filters, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span>&gt; includes, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span>&gt; parameters, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.GroupModel'>GroupModel</a></span>&gt; groups, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span>&gt; sorts, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span>&gt; aggregates, <span class='keyword'>int</span> page = 1, <span class='keyword'>int</span> size = 25, <span class='keyword'>string</span> source = <span class='keyword'>null</span>)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Aggregates { <span class='keyword'>get</span>; } : <span class='type'>ReadOnlyCollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.AggregateModel'>AggregateModel</a></span>&gt;</li>
<li class='pubproperty code'>Filters { <span class='keyword'>get</span>; } : <span class='type'>ReadOnlyCollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterModelBase'>FilterModelBase</a></span>&gt;</li>
<li class='pubproperty code'>Groups { <span class='keyword'>get</span>; } : <span class='type'>ReadOnlyCollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.GroupModel'>GroupModel</a></span>&gt;</li>
<li class='pubproperty code'>Includes { <span class='keyword'>get</span>; } : <span class='type'>ReadOnlyCollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span>&gt;</li>
<li class='pubproperty code'>Page { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubproperty code'>Parameters { <span class='keyword'>get</span>; } : <span class='type'>ReadOnlyCollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ParameterModel'>ParameterModel</a></span>&gt;</li>
<li class='pubproperty code'>Size { <span class='keyword'>get</span>; } : <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt;</li>
<li class='pubproperty code'>Sorts { <span class='keyword'>get</span>; } : <span class='type'>ReadOnlyCollection</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span>&gt;</li>
<li class='pubproperty code'>Source { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>UseConstants { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>UseNullChecks { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GenerateCacheHashcode() : <span class='keyword'>long</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.QueryModelFactory'>
<div class='header class'>
<span >QueryModelFactory : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ModelFactoryBase'>ModelFactoryBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IQueryModelFactory'>IQueryModelFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryModelFactory(<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> modelMetadataProvider, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IFilterModelFactory'>IFilterModelFactory</a></span> filterModelFactory, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IGroupModelFactory'>IGroupModelFactory</a></span> groupModelFactory, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ISortModelFactory'>ISortModelFactory</a></span> sortModelFactory, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IPropertyModelFactory'>IPropertyModelFactory</a></span> propertyModelFactory, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IAggregateModelFactory'>IAggregateModelFactory</a></span> aggregateModelFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateQueryModel&lt;<span class='type'>T</span>&gt;(<span class='type'>JObject</span> source) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryModel'>QueryModel</a></span>&lt;<span class='type'>T</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.SortModel'>
<div class='header class'>
<span >SortModel</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IQueryModelPart'>IQueryModelPart</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SortModel(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span> property, <span class='keyword'>bool</span> descending = False)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Descending { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Property { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.PropertyModel'>PropertyModel</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='keyword'>object</span> obj) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span> other) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateCacheHashcode() : <span class='keyword'>long</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.SortModelFactory'>
<div class='header class'>
<span >SortModelFactory : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ModelFactoryBase'>ModelFactoryBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.ISortModelFactory'>ISortModelFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SortModelFactory(<span class='type'><a class='type' href='#Fx.Fx.Binding.IModelMetadataProvider'>IModelMetadataProvider</a></span> modelMetadataProvider, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.IPropertyModelFactory'>IPropertyModelFactory</a></span> propertyModelFactory)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateSortModel&lt;<span class='type'>U</span>&gt;(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.QueryGenerationContext'>QueryGenerationContext</a></span> context, <span class='type'>JObject</span> source) : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.SortModel'>SortModel</a></span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Query.Model.Conventions'>
<h3 class='expander active'>Fx.Query.Model.Conventions</h3><div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.DateTimeBetweenValueInclusiveValueGenerationModelConvention'>
<div class='header class'>
<span >DateTimeBetweenValueInclusiveValueGenerationModelConvention</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.IValueGenerationModelConvention'>IValueGenerationModelConvention</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DateTimeBetweenValueInclusiveValueGenerationModelConvention(<span class='type'><a class='type' href='#Fx.IFlags'>IFlags</a></span> flags)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CanGenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.DateTimeEqualValueExpansionValueGenerationModelConvention'>
<div class='header class'>
<span >DateTimeEqualValueExpansionValueGenerationModelConvention</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.IValueGenerationModelConvention'>IValueGenerationModelConvention</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DateTimeEqualValueExpansionValueGenerationModelConvention(<span class='type'><a class='type' href='#Fx.IFlags'>IFlags</a></span> flags)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CanGenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.DateTimeOffsetBetweenValueInclusiveValueGenerationModelConvention'>
<div class='header class'>
<span >DateTimeOffsetBetweenValueInclusiveValueGenerationModelConvention</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.IValueGenerationModelConvention'>IValueGenerationModelConvention</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DateTimeOffsetBetweenValueInclusiveValueGenerationModelConvention(<span class='type'><a class='type' href='#Fx.IFlags'>IFlags</a></span> flags)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CanGenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.DateTimeOffsetEqualValueExpansionValueGenerationModelConvention'>
<div class='header class'>
<span >DateTimeOffsetEqualValueExpansionValueGenerationModelConvention</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.IValueGenerationModelConvention'>IValueGenerationModelConvention</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DateTimeOffsetEqualValueExpansionValueGenerationModelConvention(<span class='type'><a class='type' href='#Fx.IFlags'>IFlags</a></span> flags)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CanGenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ExpandDateTimeToDateTimeOffsetValueGenerationModelConvention'>
<div class='header class'>
<span >ExpandDateTimeToDateTimeOffsetValueGenerationModelConvention</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.IValueGenerationModelConvention'>IValueGenerationModelConvention</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ExpandDateTimeToDateTimeOffsetValueGenerationModelConvention()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CanGenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.IValueGenerationModelConvention'>
<div class='header interface'>
<span >IValueGenerationModelConvention</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CanGenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>GenerateValue(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>ValueGenerationModelConventionContext</a></span> context)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Model.Fx.Query.Model.Conventions.ValueGenerationModelConventionContext'>
<div class='header class'>
<span >ValueGenerationModelConventionContext</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>ValueGenerationModelConventionContext()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Args { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Operator { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Model.FilterOperator'>FilterOperator</a></span></li>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>Type</span></li>
<li class='pubproperty code'>Value { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>object</span></li>
</ul></div>
</div>
</div></section>
<section id='Fx.Query.Store'>
<h3 class='expander active'>Fx.Query.Store</h3><div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.IStoredQueryService'>
<div class='header interface'>
<span >IStoredQueryService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</span></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> dataset = <span class='keyword'>null</span>, <span class='keyword'>bool</span> includeShared = False) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.QueryDbContext'>
<div class='header class'>
<span >QueryDbContext : <span class='type'><a class='type' href='#Fx.Fx.Data.DbContextBase'>DbContextBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.QueryDbContext'>QueryDbContext</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryDbContext(<span class='type'>DbContextOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.QueryDbContext'>QueryDbContext</a></span>&gt; options)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Queries { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.StoredQuery'>
<div class='header class'>
<span >StoredQuery : <span class='type'><a class='type' href='#Fx.Fx.Data.EntityBase'>EntityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>StoredQuery()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Content { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DataSet { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Shared { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.StoredQueryEntityTypeBuilder'>
<div class='header class'>
<span >StoredQueryEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Data.Fx.Data.Builder.EntityTypeBuilderBase'>EntityTypeBuilderBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>StoredQueryEntityTypeBuilder()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.StoredQueryService'>
<div class='header class'>
<span >StoredQueryService : <span class='type'><a class='type' href='#Fx.Fx.Data.Writer'>Writer</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.QueryDbContext'>QueryDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.IStoredQueryService'>IStoredQueryService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>StoredQueryService(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.QueryDbContext'>QueryDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt; servicesFacade)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForUser(<span class='keyword'>int</span> userId, <span class='keyword'>string</span> dataset = <span class='keyword'>null</span>, <span class='keyword'>bool</span> includeShared = False) : <span class='type'>IQueryable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Query.Store.Controllers'>
<h3 class='expander active'>Fx.Query.Store.Controllers</h3><div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Controllers.StoredQueriesController'>
<div class='header class'>
<span >StoredQueriesController : <span class='type'><a class='type' href='#Fx.Fx.Api.WriterApiControllerBase'>WriterApiControllerBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.CreateStoredQueryRequest'>CreateStoredQueryRequest</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.UpdateStoredQueryRequest'>UpdateStoredQueryRequest</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>StoredQueriesController(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForDataSet(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.GetStoredQueriesForDataSetRequest'>GetStoredQueriesForDataSetRequest</a></span> request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Query.Store.Handlers'>
<h3 class='expander active'>Fx.Query.Store.Handlers</h3><div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.CreateStoredQueryRequest'>
<div class='header class'>
<span >CreateStoredQueryRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.ICreateRequest'>ICreateRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateResult'>CreateResult</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CreateStoredQueryRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Content { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DataSet { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Shared { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.CreateStoredQueryRequestHandler'>
<div class='header class'>
<span >CreateStoredQueryRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.CreateRequestHandlerBase'>CreateRequestHandlerBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.CreateStoredQueryRequest'>CreateStoredQueryRequest</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CreateStoredQueryRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt; writer)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.CreateStoredQueryRequestValidator'>
<div class='header class'>
<span >CreateStoredQueryRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.CreateStoredQueryRequest'>CreateStoredQueryRequest</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>CreateStoredQueryRequestValidator()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.DeleteStoredQueryRequestHandler'>
<div class='header class'>
<span >DeleteStoredQueryRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.DeleteRequestHandlerBase'>DeleteRequestHandlerBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DeleteStoredQueryRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt; writer)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.GetStoredQueriesForDataSetRequest'>
<div class='header class'>
<span >GetStoredQueriesForDataSetRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'>IList</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GetStoredQueriesForDataSetRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>DataSet { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>IncludeShared { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.GetStoredQueriesForDataSetRequestHandler'>
<div class='header class'>
<span >GetStoredQueriesForDataSetRequestHandler</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequestHandler'>IRequestHandler</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.GetStoredQueriesForDataSetRequest'>GetStoredQueriesForDataSetRequest</a></span>, <span class='type'>IList</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GetStoredQueriesForDataSetRequestHandler(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.IStoredQueryService'>IStoredQueryService</a></span> storedQueryService)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HandleAsync(<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.GetStoredQueriesForDataSetRequest'>GetStoredQueriesForDataSetRequest</a></span> request, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'>IList</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.GetStoredQueriesForDataSetRequestValidator'>
<div class='header class'>
<span >GetStoredQueriesForDataSetRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.GetStoredQueriesForDataSetRequest'>GetStoredQueriesForDataSetRequest</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>GetStoredQueriesForDataSetRequestValidator()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.QueryManyStoredQuerysHandler'>
<div class='header class'>
<span >QueryManyStoredQuerysHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryManyRequestHandlerBase'>QueryManyRequestHandlerBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryManyStoredQuerysHandler(<span class='type'><a class='type' href='#Fx.Fx.Query.IQueryService'>IQueryService</a></span> queryService, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt; reader)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.QueryStoredQueryByIdHandler'>
<div class='header class'>
<span >QueryStoredQueryByIdHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Query.QueryByIdRequestHandlerBase'>QueryByIdRequestHandlerBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>QueryStoredQueryByIdHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt; reader)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.UpdateStoredQueryRequest'>
<div class='header class'>
<span >UpdateStoredQueryRequest</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.IUpdateRequest'>IUpdateRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Mediator.IRequest'>IRequest</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateResult'>UpdateResult</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateStoredQueryRequest()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Content { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DataSet { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Shared { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.UpdateStoredQueryRequestHandler'>
<div class='header class'>
<span >UpdateStoredQueryRequestHandler : <span class='type'><a class='type' href='#Fx.Fx.Api.Fx.Api.Command.UpdateRequestHandlerBase'>UpdateRequestHandlerBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.UpdateStoredQueryRequest'>UpdateStoredQueryRequest</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateStoredQueryRequestHandler(<span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.StoredQuery'>StoredQuery</a></span>&gt; writer)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.UpdateStoredQueryRequestValidator'>
<div class='header class'>
<span >UpdateStoredQueryRequestValidator : <span class='type'>AbstractValidator</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Query.Fx.Query.Store.Fx.Query.Store.Handlers.UpdateStoredQueryRequest'>UpdateStoredQueryRequest</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UpdateStoredQueryRequestValidator()</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Security'>
<h3 class='expander active'>Fx.Security</h3><div>
<div class='objectBox' id='Fx.Fx.Security.AccessFeature'>
<div class='header class'>
<span >AccessFeature : <span class='type'><a class='type' href='#Fx.FeatureBase'>FeatureBase</a></span></span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AccessFeature()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.AnonymousIdentity'>
<div class='header class'>
<span >AnonymousIdentity : <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityBase'>IdentityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AnonymousIdentity(<span class='type'>DateTimeOffset</span> dateTimeOffset)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.AnonymousSecurityContext'>
<div class='header class'>
<span >AnonymousSecurityContext</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AnonymousSecurityContext()</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AppliedDataSetPermissions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermission'>DataSetPermission</a></span>[]</li>
<li class='pubproperty code'>AppliedPermissionConventionNames { <span class='keyword'>get</span>; } : <span class='type'>String</span>[]</li>
<li class='pubproperty code'>AppliedPermissions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[]</li>
<li class='pubproperty code'>AvailableDataSets { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>[]</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HasDataSetPermission(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span> type) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>HasDataSetPermission(<span class='keyword'>string</span> name, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span> type) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>HasPermission(<span class='keyword'>string</span> code) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>HasPermission(<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span> permission) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.DataSet'>
<div class='header class'>
<span >DataSet</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DataSet(<span class='keyword'>string</span> name, <span class='keyword'>string</span> description = <span class='keyword'>null</span>, <span class='keyword'>string</span> category = <span class='keyword'>null</span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[] impliedBy)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Category { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ImpliedBy { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[]</li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.DataSet'>
<div class='header class'>
<span >DataSet : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DataSet(<span class='keyword'>string</span> name, <span class='keyword'>string</span> description = <span class='keyword'>null</span>, <span class='keyword'>string</span> category = <span class='keyword'>null</span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[] impliedBy)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Type { <span class='keyword'>get</span>; } : <span class='type'>Type</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.DataSetPermission'>
<div class='header class'>
<span >DataSetPermission</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DataSetPermission(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset, <span class='keyword'>bool</span> create, <span class='keyword'>bool</span> read, <span class='keyword'>bool</span> update, <span class='keyword'>bool</span> delete)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Create { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>DataSet { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubproperty code'>Delete { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Read { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>Update { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>bool</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermission'>DataSetPermission</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermission'>DataSetPermission</a></span> other) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>ToClaimString() : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.DataSetPermissionType'>
<div class='header class'>
<span >DataSetPermissionType : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Create : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span></li>
<li class='pubfield code'><span class='static'></span>Delete : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span></li>
<li class='pubfield code'><span class='static'></span>Read : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span></li>
<li class='pubfield code'><span class='static'></span>Update : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.DefaultIdentityService'>
<div class='header class'>
<span >DefaultIdentityService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityService'>IIdentityService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DefaultIdentityService(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> identityFactory, <span class='type'><a class='type' href='#Fx.IProfileImageProvider'>IProfileImageProvider</a></span> profileImageProvider)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetCachedIdentities(<span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>[]&gt;</li>
<li class='pubmethod code'>GetCachedIdentity(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>GetForId(<span class='keyword'>int</span> id, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDateTime = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>GetForPrincipal(<span class='type'>ClaimsPrincipal</span> principal, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDataTime = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>SetIdentityStatus(<span class='keyword'>int</span> id, <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span> status, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>UpdateCachedIdentity(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='keyword'>bool</span> email = False, <span class='keyword'>bool</span> dateTimeOffset = False, <span class='keyword'>bool</span> apiVersion = False, <span class='keyword'>bool</span> imageUrl = False, <span class='keyword'>bool</span> isAnonymous = False, <span class='keyword'>bool</span> isSystem = False, <span class='keyword'>bool</span> name = False, <span class='keyword'>bool</span> permissionConventions = False, <span class='keyword'>bool</span> identityStatus = False, <span class='keyword'>bool</span> data = False, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.DefaultMembershipService'>
<div class='header class'>
<span >DefaultMembershipService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IMembershipService'>IMembershipService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>DefaultMembershipService()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForIdentity(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.HasPermissionAuthorisationHandler'>
<div class='header class'>
<span >HasPermissionAuthorisationHandler : <span class='type'>AuthorizationHandler</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.HasPermissionRequirement'>HasPermissionRequirement</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>HasPermissionAuthorisationHandler()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.HasPermissionRequirement'>
<div class='header class'>
<span >HasPermissionRequirement</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>HasPermissionRequirement(<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span> permission)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Permission { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.Identity'>
<div class='header class'>
<span >Identity : <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityBase'>IdentityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Identity(<span class='keyword'>int</span> id, <span class='keyword'>string</span> name, <span class='keyword'>string</span> email, <span class='type'>DateTimeOffset</span> dateTimeOffset, <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span> status, <span class='keyword'>bool</span> isAnonymous = False, <span class='keyword'>bool</span> isSystem = False, <span class='type'>String</span>[] permissionConventions = <span class='keyword'>null</span>, <span class='keyword'>string</span> apiVersion = <span class='keyword'>null</span>, <span class='keyword'>string</span> membershipId = <span class='keyword'>null</span>)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IdentityBase'>
<div class='header class'>
<span >IdentityBase</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='protmethod code'>IdentityBase(<span class='keyword'>int</span> id, <span class='keyword'>string</span> name, <span class='keyword'>string</span> email, <span class='type'>DateTimeOffset</span> dateTimeOffset, <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span> status, <span class='keyword'>bool</span> isAnonymous, <span class='keyword'>bool</span> isSystem, <span class='type'>String</span>[] permissionConventions, <span class='keyword'>string</span> apiVersion, <span class='keyword'>string</span> membershipId)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApiVersion { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DateTimeOffset { <span class='keyword'>get</span>; } : <span class='type'>DateTimeOffset</span></li>
<li class='pubproperty code'>Email { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>ImageUrl { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>IsAnonymous { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>IsSystem { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>MembershipId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>PermissionConventions { <span class='keyword'>get</span>; } : <span class='type'>String</span>[]</li>
<li class='pubproperty code'>Status { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Clone(<span class='keyword'>string</span> apiVersion = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDateTime = <span class='keyword'>null</span>, <span class='keyword'>string</span> email = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt; id = <span class='keyword'>null</span>, <span class='keyword'>string</span> imageUrl = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Boolean</span>&gt; isAnonymous = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Boolean</span>&gt; isSystem = <span class='keyword'>null</span>, <span class='keyword'>string</span> membershipId = <span class='keyword'>null</span>, <span class='keyword'>string</span> name = <span class='keyword'>null</span>, <span class='type'>String</span>[] permissionConventions = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span>&gt; status = <span class='keyword'>null</span>, <span class='keyword'>bool</span> data = True) : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubmethod code'>GetAllData() : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt;</li>
<li class='pubmethod code'>GetData&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> key, <span class='type'>T</span> default = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
<li class='pubmethod code'>SetData&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> key, <span class='type'>T</span> value)</li>
<li class='pubmethod code'>Update(<span class='keyword'>string</span> apiVersion = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDateTime = <span class='keyword'>null</span>, <span class='keyword'>string</span> email = <span class='keyword'>null</span>, <span class='keyword'>string</span> imageUrl = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Boolean</span>&gt; isAnonymous = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Boolean</span>&gt; isSystem = <span class='keyword'>null</span>, <span class='keyword'>string</span> membershipId = <span class='keyword'>null</span>, <span class='keyword'>string</span> name = <span class='keyword'>null</span>, <span class='type'>String</span>[] permissionConventions = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span>&gt; status = <span class='keyword'>null</span>, <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt; data = <span class='keyword'>null</span>)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IdentityFactory'>
<div class='header class'>
<span >IdentityFactory</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>IdentityFactory(<span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateAnonymousIdentity() : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubmethod code'>CreateIdentity(<span class='keyword'>int</span> id, <span class='keyword'>string</span> name, <span class='keyword'>string</span> email, <span class='keyword'>bool</span> isAnonymous = False, <span class='keyword'>bool</span> isSystem = False, <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span> status = 1, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; dateTimeOffset = <span class='keyword'>null</span>, <span class='type'>String</span>[] permissionConventions = <span class='keyword'>null</span>, <span class='keyword'>string</span> apiVersion = <span class='keyword'>null</span>, <span class='keyword'>string</span> membershipId = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubmethod code'>CreateSystemIdentity() : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IdentityService'>
<div class='header class'>
<span >IdentityService : <span class='type'><a class='type' href='#Fx.Fx.Membership.IdentityService'>IdentityService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityService'>IIdentityService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>IdentityService(<span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionContextFactory'>IConnectionContextFactory</a></span> connectionContextFactory, <span class='type'><a class='type' href='#Fx.Fx.Security.ITrustedSecurityService'>ITrustedSecurityService</a></span> trustedSecurityService, <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentityFactory'>IIdentityFactory</a></span> factory, <span class='type'>IMemoryCache</span> cache, <span class='type'><a class='type' href='#Fx.IProfileImageProvider'>IProfileImageProvider</a></span> profileImageProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt; idProvider)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IdentityStatus'>
<div class='header class'>
<span >IdentityStatus : <span class='type'>Enum</span></span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Busy : <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span></li>
<li class='pubfield code'><span class='static'></span>Offline : <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span></li>
<li class='pubfield code'><span class='static'></span>Online : <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span></li>
<li class='pubfield code'><span class='static'></span>Unavailable : <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span></li>
<li class='pubfield code'>value__ : <span class='keyword'>int</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IIdentity'>
<div class='header interface'>
<span >IIdentity</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>ApiVersion { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>DateTimeOffset { <span class='keyword'>get</span>; } : <span class='type'>DateTimeOffset</span></li>
<li class='pubproperty code'>Email { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Id { <span class='keyword'>get</span>; } : <span class='keyword'>int</span></li>
<li class='pubproperty code'>ImageUrl { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>IsAnonymous { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>IsSystem { <span class='keyword'>get</span>; } : <span class='keyword'>bool</span></li>
<li class='pubproperty code'>MembershipId { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>PermissionConventions { <span class='keyword'>get</span>; } : <span class='type'>String</span>[]</li>
<li class='pubproperty code'>Status { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Clone(<span class='keyword'>string</span> apiVersion = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDateTime = <span class='keyword'>null</span>, <span class='keyword'>string</span> email = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Int32</span>&gt; id = <span class='keyword'>null</span>, <span class='keyword'>string</span> imageUrl = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Boolean</span>&gt; isAnonymous = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Boolean</span>&gt; isSystem = <span class='keyword'>null</span>, <span class='keyword'>string</span> membershipId = <span class='keyword'>null</span>, <span class='keyword'>string</span> name = <span class='keyword'>null</span>, <span class='type'>String</span>[] permissionConventions = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span>&gt; status = <span class='keyword'>null</span>, <span class='keyword'>bool</span> data = True) : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubmethod code'>GetAllData() : <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt;</li>
<li class='pubmethod code'>GetData&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> key, <span class='type'>T</span> default = <span class='keyword'>null</span>) : <span class='type'>T</span></li>
<li class='pubmethod code'>SetData&lt;<span class='type'>T</span>&gt;(<span class='keyword'>string</span> key, <span class='type'>T</span> value)</li>
<li class='pubmethod code'>Update(<span class='keyword'>string</span> apiVersion = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDateTime = <span class='keyword'>null</span>, <span class='keyword'>string</span> email = <span class='keyword'>null</span>, <span class='keyword'>string</span> imageUrl = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Boolean</span>&gt; isAnonymous = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'>Boolean</span>&gt; isSystem = <span class='keyword'>null</span>, <span class='keyword'>string</span> membershipId = <span class='keyword'>null</span>, <span class='keyword'>string</span> name = <span class='keyword'>null</span>, <span class='type'>String</span>[] permissionConventions = <span class='keyword'>null</span>, <span class='type'>Nullable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span>&gt; status = <span class='keyword'>null</span>, <span class='type'>IDictionary</span>&lt;<span class='type'>String</span>, <span class='type'>Object</span>&gt; data = <span class='keyword'>null</span>)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IIdentityFactory'>
<div class='header interface'>
<span >IIdentityFactory</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CreateAnonymousIdentity() : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubmethod code'>CreateIdentity(<span class='keyword'>int</span> id, <span class='keyword'>string</span> name, <span class='keyword'>string</span> email, <span class='keyword'>bool</span> isAnonymous = False, <span class='keyword'>bool</span> isSystem = False, <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span> status = 1, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; dateTimeOffset = <span class='keyword'>null</span>, <span class='type'>String</span>[] permissionConventions = <span class='keyword'>null</span>, <span class='keyword'>string</span> apiVersion = <span class='keyword'>null</span>, <span class='keyword'>string</span> membershipId = <span class='keyword'>null</span>) : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
<li class='pubmethod code'>CreateSystemIdentity() : <span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IIdentityService'>
<div class='header interface'>
<span >IIdentityService</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetCachedIdentities(<span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>[]&gt;</li>
<li class='pubmethod code'>GetCachedIdentity(<span class='keyword'>int</span> id, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>GetForId(<span class='keyword'>int</span> id, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDateTime = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>GetForPrincipal(<span class='type'>ClaimsPrincipal</span> principal, <span class='type'>Nullable</span>&lt;<span class='type'>DateTimeOffset</span>&gt; referenceDataTime = <span class='keyword'>null</span>, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span>&gt;</li>
<li class='pubmethod code'>SetIdentityStatus(<span class='keyword'>int</span> id, <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityStatus'>IdentityStatus</a></span> status, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
<li class='pubmethod code'>UpdateCachedIdentity(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='keyword'>bool</span> email = False, <span class='keyword'>bool</span> dateTimeOffset = False, <span class='keyword'>bool</span> apiVersion = False, <span class='keyword'>bool</span> imageUrl = False, <span class='keyword'>bool</span> isAnonymous = False, <span class='keyword'>bool</span> isSystem = False, <span class='keyword'>bool</span> name = False, <span class='keyword'>bool</span> permissionConventions = False, <span class='keyword'>bool</span> identityStatus = False, <span class='keyword'>bool</span> data = False, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IMembershipService'>
<div class='header interface'>
<span >IMembershipService</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetForIdentity(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'>CancellationToken</span> cancellationToken = <span class='keyword'>null</span>) : <span class='type'>Task</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IPermissionService'>
<div class='header interface'>
<span >IPermissionService</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>GetAvailablePermissionConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span>&gt;</li>
<li class='pubmethod code'>GetAvailablePermissions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IRoleDataSetService'>
<div class='header interface noMembers'>
<span >IRoleDataSetService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleDataSetService'>IRoleDataSetService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IRolePermissionService'>
<div class='header interface noMembers'>
<span >IRolePermissionService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IRolePermissionService'>IRolePermissionService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IRoleService'>
<div class='header interface noMembers'>
<span >IRoleService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleService'>IRoleService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.ISecurityContext'>
<div class='header interface'>
<span >ISecurityContext</span>
</div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AppliedDataSetPermissions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermission'>DataSetPermission</a></span>[]</li>
<li class='pubproperty code'>AppliedPermissionConventionNames { <span class='keyword'>get</span>; } : <span class='type'>String</span>[]</li>
<li class='pubproperty code'>AppliedPermissions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[]</li>
<li class='pubproperty code'>AvailableDataSets { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>[]</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HasDataSetPermission(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span> type) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>HasDataSetPermission(<span class='keyword'>string</span> name, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span> type) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>HasPermission(<span class='keyword'>string</span> code) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>HasPermission(<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span> permission) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.ISecurityService'>
<div class='header interface noMembers'>
<span >ISecurityService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipService'>IMembershipService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Security.IMembershipService'>IMembershipService</a></span></span></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.ITrustedSecurityService'>
<div class='header interface noMembers'>
<span >ITrustedSecurityService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span></span></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IUserDataSetService'>
<div class='header interface noMembers'>
<span >IUserDataSetService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IUserDataSetService'>IUserDataSetService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IUserPermissionService'>
<div class='header interface noMembers'>
<span >IUserPermissionService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IUserPermissionService'>IUserPermissionService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IUserService'>
<div class='header interface noMembers'>
<span >IUserService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IUserService'>IUserService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.IUserTokenService'>
<div class='header interface noMembers'>
<span >IUserTokenService</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Membership.IUserTokenService'>IUserTokenService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.Permission'>
<div class='header class'>
<span >Permission</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Permission(<span class='keyword'>string</span> code, <span class='keyword'>string</span> name, <span class='keyword'>string</span> description = <span class='keyword'>null</span>, <span class='keyword'>string</span> category = <span class='keyword'>null</span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[] impliedBy)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Category { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Code { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Description { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>ImpliedBy { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[]</li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.PermissionConvention'>
<div class='header class'>
<span >PermissionConvention</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PermissionConvention(<span class='keyword'>string</span> code, <span class='keyword'>string</span> name, <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[] permissions)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>Code { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Name { <span class='keyword'>get</span>; } : <span class='keyword'>string</span></li>
<li class='pubproperty code'>Permissions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[]</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>CompareTo(<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span> other) : <span class='keyword'>int</span></li>
<li class='pubmethod code'>Equals(<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span> other) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.PermissionException'>
<div class='header class'>
<span >PermissionException : <span class='type'>Exception</span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>PermissionException(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span> type)</li>
<li class='pubmethod code'>PermissionException(<span class='type'><a class='type' href='#Fx.Fx.Security.IIdentity'>IIdentity</a></span> identity, <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span> permission)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.Role'>
<div class='header class'>
<span >Role : <span class='type'><a class='type' href='#Fx.Fx.Membership.Role'>Role</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>Role()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.RoleDataSetService'>
<div class='header class'>
<span >RoleDataSetService : <span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSetService'>RoleDataSetService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IRoleDataSetService'>IRoleDataSetService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleDataSetService'>IRoleDataSetService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RoleDataSetService(<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RoleDataSet'>RoleDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt; servicesFacade)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.RoleEntityTypeBuilder'>
<div class='header class'>
<span >RoleEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Builders.RoleEntityTypeBuilder'>RoleEntityTypeBuilder</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RoleEntityTypeBuilder()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.RolePermissionService'>
<div class='header class'>
<span >RolePermissionService : <span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermissionService'>RolePermissionService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IRolePermissionService'>IRolePermissionService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.IRolePermissionService'>IRolePermissionService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RolePermissionService(<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.RolePermission'>RolePermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt; servicesFacade)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.RoleService'>
<div class='header class'>
<span >RoleService : <span class='type'><a class='type' href='#Fx.Fx.Membership.RoleService'>RoleService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IRoleService'>IRoleService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.IRoleService'>IRoleService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>RoleService(<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt; servicesFacade)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityConstants'>
<div class='header class'>
<span >SecurityConstants</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SecurityConstants()</li>
</ul></div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Flags_DisableConflictingRoleCheck : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>Flags_DisableConflictingUserCheck : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>IPAccessRulesCacheKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>IPAddressConfigurationKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>MembershipProviderId : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>ModelConfigurationKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>SecurityConfigurationFile : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>SecurityConfigurationKey : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>SecuritySchema : <span class='keyword'>string</span></li>
<li class='pubfield code'><span class='static'></span>TemplateCategory : <span class='keyword'>string</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityContext'>
<div class='header class'>
<span >SecurityContext</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityContext'>ISecurityContext</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SecurityContext(<span class='type'>IEnumerable</span>&lt;<span class='type'>String</span>&gt; permissionConventions, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>&gt; permissions, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermission'>DataSetPermission</a></span>&gt; datasetPermissions, <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>&gt; datasets)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AppliedDataSetPermissions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermission'>DataSetPermission</a></span>[]</li>
<li class='pubproperty code'>AppliedPermissionConventionNames { <span class='keyword'>get</span>; } : <span class='type'>String</span>[]</li>
<li class='pubproperty code'>AppliedPermissions { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[]</li>
<li class='pubproperty code'>AvailableDataSets { <span class='keyword'>get</span>; } : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>[]</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>HasDataSetPermission(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span> type) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>HasDataSetPermission(<span class='keyword'>string</span> name, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span> type) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>HasPermission(<span class='keyword'>string</span> code) : <span class='keyword'>bool</span></li>
<li class='pubmethod code'>HasPermission(<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span> permission) : <span class='keyword'>bool</span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityContextBuilder'>
<div class='header class'>
<span >SecurityContextBuilder</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SecurityContextBuilder()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Build() : <span class='type'><a class='type' href='#Fx.Fx.Security.SecurityContext'>SecurityContext</a></span></li>
<li class='pubmethod code'>WithDataSetPermission(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span> dataset, <span class='type'><a class='type' href='#Fx.Fx.Security.DataSetPermissionType'>DataSetPermissionType</a></span> type) : <span class='type'><a class='type' href='#Fx.Fx.Security.SecurityContextBuilder'>SecurityContextBuilder</a></span></li>
<li class='pubmethod code'>WithDataSets(<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>[] datasets) : <span class='type'><a class='type' href='#Fx.Fx.Security.SecurityContextBuilder'>SecurityContextBuilder</a></span></li>
<li class='pubmethod code'>WithPermissionConventions(<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span>[] conventions) : <span class='type'><a class='type' href='#Fx.Fx.Security.SecurityContextBuilder'>SecurityContextBuilder</a></span></li>
<li class='pubmethod code'>WithPermissions(<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>[] permissions) : <span class='type'><a class='type' href='#Fx.Fx.Security.SecurityContextBuilder'>SecurityContextBuilder</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityDataSets'>
<div class='header class'>
<span >SecurityDataSets</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>IPAccessDataSet : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubfield code'><span class='static'></span>PasswordResets : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubfield code'><span class='static'></span>RoleDataSets : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubfield code'><span class='static'></span>RolePermissions : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubfield code'><span class='static'></span>Roles : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubfield code'><span class='static'></span>UserDataSets : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubfield code'><span class='static'></span>UserPermissions : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubfield code'><span class='static'></span>Users : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
<li class='pubfield code'><span class='static'></span>UserTokens : <span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityDbContext'>
<div class='header class'>
<span >SecurityDbContext : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipDbContext'>MembershipDbContext</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SecurityDbContext(<span class='type'>DbContextOptions</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>&gt; options)</li>
</ul></div>
<div class='members'><h4>Properties</h4><ul>
<li class='pubproperty code'>AccessRules { <span class='keyword'>get</span>; <span class='keyword'>set</span>; } : <span class='type'>DbSet</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Fx.Security.Access.AccessRule'>AccessRule</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityFeatures'>
<div class='header class'>
<span >SecurityFeatures</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Access : <span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityModelClaimsTransformation'>
<div class='header class'>
<span >SecurityModelClaimsTransformation</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SecurityModelClaimsTransformation(<span class='type'><a class='type' href='#Fx.IWorkContext'>IWorkContext</a></span> workContext)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>TransformAsync(<span class='type'>ClaimsPrincipal</span> principal) : <span class='type'>Task</span>&lt;<span class='type'>ClaimsPrincipal</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityModule'>
<div class='header class'>
<span >SecurityModule : <span class='type'><a class='type' href='#Fx.Fx.Data.DataModuleBase'>DataModuleBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.IServicesBuilder'>IServicesBuilder</a></span>, <span class='type'><a class='type' href='#Fx.IDataSetProvider'>IDataSetProvider</a></span>, <span class='type'><a class='type' href='#Fx.IPermissionProvider'>IPermissionProvider</a></span>, <span class='type'><a class='type' href='#Fx.IConfigurationExtender'>IConfigurationExtender</a></span>, <span class='type'><a class='type' href='#Fx.IPermissionConventionProvider'>IPermissionConventionProvider</a></span>, <span class='type'><a class='type' href='#Fx.IFeatureProvider'>IFeatureProvider</a></span>, <span class='type'><a class='type' href='#Fx.IApplicationExtender'>IApplicationExtender</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SecurityModule()</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>BuildServices(<span class='type'>IServiceCollection</span> services)</li>
<li class='pubmethod code'>ExtendApplication(<span class='type'>IApplicationBuilder</span> builder)</li>
<li class='pubmethod code'>ExtendConfiguration(<span class='type'>IConfigurationBuilder</span> builder)</li>
<li class='pubmethod code'>GetDataSets() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.DataSet'>DataSet</a></span>&gt;</li>
<li class='pubmethod code'>GetFeatures() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.IFeature'>IFeature</a></span>&gt;</li>
<li class='pubmethod code'>GetPermissionConventions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span>&gt;</li>
<li class='pubmethod code'>GetPermissions() : <span class='type'>IEnumerable</span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityPermissionConventions'>
<div class='header class'>
<span >SecurityPermissionConventions</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>Admin : <span class='type'><a class='type' href='#Fx.Fx.Security.PermissionConvention'>PermissionConvention</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityPermissions'>
<div class='header class'>
<span >SecurityPermissions</span>
</div>
<div class='members'><h4>Fields</h4><ul>
<li class='pubfield code'><span class='static'></span>IPAccess : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
<li class='pubfield code'><span class='static'></span>Model : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
<li class='pubfield code'><span class='static'></span>Roles : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
<li class='pubfield code'><span class='static'></span>Users : <span class='type'><a class='type' href='#Fx.Fx.Security.Permission'>Permission</a></span></li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SecurityService'>
<div class='header class'>
<span >SecurityService : <span class='type'><a class='type' href='#Fx.Fx.Membership.MembershipService'>MembershipService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.ISecurityService'>ISecurityService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipService'>IMembershipService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Security.IMembershipService'>IMembershipService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SecurityService(<span class='type'><a class='type' href='#Fx.IHost'>IHost</a></span> host, <span class='type'><a class='type' href='#Fx.Fx.Security.ITrustedSecurityService'>ITrustedSecurityService</a></span> trustedSecurityService, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt; membershipIdProvider, <span class='type'>IMemoryCache</span> cache)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.SystemIdentity'>
<div class='header class'>
<span >SystemIdentity : <span class='type'><a class='type' href='#Fx.Fx.Security.IdentityBase'>IdentityBase</a></span></span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>SystemIdentity(<span class='type'>DateTimeOffset</span> dateTimeOffset)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.TrustedSecurityService'>
<div class='header class'>
<span >TrustedSecurityService : <span class='type'><a class='type' href='#Fx.Fx.Membership.TrustedMembershipService'>TrustedMembershipService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.ITrustedSecurityService'>ITrustedSecurityService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Membership.ITrustedMembershipService'>ITrustedMembershipService</a></span></span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>TrustedSecurityService(<span class='type'><a class='type' href='#Fx.IClock'>IClock</a></span> clock, <span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.IFeatureStateProvider'>IFeatureStateProvider</a></span> featureStateProvider, <span class='type'><a class='type' href='#Fx.Fx.Membership.IMembershipIdProvider'>IMembershipIdProvider</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt; idProvider, <span class='type'><a class='type' href='#Fx.Fx.Data.IConnectionContextFactory'>IConnectionContextFactory</a></span> connectionContextFactory)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.User'>
<div class='header class'>
<span >User : <span class='type'><a class='type' href='#Fx.Fx.Membership.User'>User</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>User()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.UserDataSetService'>
<div class='header class'>
<span >UserDataSetService : <span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSetService'>UserDataSetService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IUserDataSetService'>IUserDataSetService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.IUserDataSetService'>IUserDataSetService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserDataSetService(<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserDataSet'>UserDataSet</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt; servicesFacade)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.UserEntityTypeBuilder'>
<div class='header class'>
<span >UserEntityTypeBuilder : <span class='type'><a class='type' href='#Fx.Fx.Membership.Fx.Membership.Builders.UserEntityTypeBuilder'>UserEntityTypeBuilder</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserEntityTypeBuilder()</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.UserPermissionService'>
<div class='header class'>
<span >UserPermissionService : <span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermissionService'>UserPermissionService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IUserPermissionService'>IUserPermissionService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.IUserPermissionService'>IUserPermissionService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserPermissionService(<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserPermission'>UserPermission</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt; servicesFacade)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.UserService'>
<div class='header class'>
<span >UserService : <span class='type'><a class='type' href='#Fx.Fx.Membership.UserService'>UserService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IUserService'>IUserService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.IUserService'>IUserService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserService(<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>&gt; servicesFacade)</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.UserTokenService'>
<div class='header class'>
<span >UserTokenService : <span class='type'><a class='type' href='#Fx.Fx.Membership.UserTokenService'>UserTokenService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;</span>
<br/>Implements <span class='code'><span class='type'><a class='type' href='#Fx.Fx.Security.IUserTokenService'>IUserTokenService</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Membership.IUserTokenService'>IUserTokenService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IReader'>IReader</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.IDataService'>IDataService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriter'>IWriter</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt;</span></div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>UserTokenService(<span class='type'><a class='type' href='#Fx.Fx.Security.SecurityDbContext'>SecurityDbContext</a></span> context, <span class='type'><a class='type' href='#Fx.Fx.Data.IWriterServicesFacade'>IWriterServicesFacade</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Membership.UserToken'>UserToken</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.User'>User</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Role'>Role</a></span>&gt;&gt; servicesFacade)</li>
</ul></div>
</div>
</div></section>
<section id='Fx.Security.Access'>
<h3 class='expander active'>Fx.Security.Access</h3><div>
<div class='objectBox' id='Fx.Fx.Security.Fx.Security.Access.AccessController'>
<div class='header class'>
<span >AccessController : <span class='type'><a class='type' href='#Fx.Fx.Api.WriterApiControllerBase'>WriterApiControllerBase</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Fx.Security.Access.AccessRule'>AccessRule</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Fx.Security.Access.Fx.Security.Access.Handlers.CreateAccessRuleRequest'>CreateAccessRuleRequest</a></span>, <span class='type'><a class='type' href='#Fx.Fx.Security.Fx.Security.Access.Fx.Security.Access.Handlers.UpdateAccessRuleRequest'>UpdateAccessRuleRequest</a></span>&gt;</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AccessController(<span class='type'><a class='type' href='#Fx.Fx.Mediator.IMediator'>IMediator</a></span> mediator)</li>
</ul></div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'>Validate(<span class='type'><a class='type' href='#Fx.Fx.Security.Fx.Security.Access.Fx.Security.Access.Handlers.ValidateAccessRuleRequest'>ValidateAccessRuleRequest</a></span> request) : <span class='type'>Task</span>&lt;<span class='type'>IActionResult</span>&gt;</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.Fx.Security.Access.AccessHttpContextExtensions'>
<div class='header class'>
<span >AccessHttpContextExtensions</span>
</div>
<div class='members'><h4>Methods</h4><ul>
<li class='pubmethod code'><span class='static'></span>GetIPAddressesForConnection(<span class='type'>HttpContext</span> context) : <span class='type'><a class='type' href='#Fx.Fx.Security.Fx.Security.Access.SourceIPAddress'>SourceIPAddress</a></span>[]</li>
</ul></div>
</div>
<div class='objectBox' id='Fx.Fx.Security.Fx.Security.Access.AccessMiddleware'>
<div class='header class'>
<span >AccessMiddleware</span>
</div>
<div class='members'>
<h4>Constructors</h4>
<ul>
<li class='pubmethod code'>AccessMiddleware(<span class='type'><a class='type' href='#Fx.IFeatureService'>IFeatureService</a></span>&lt;<span class='type'><a class='type' href='#Fx.Fx.Security.Fx.Security.Access.ITrustedAccessService'>ITrustedAccessService</a></span>&gt; feature, <span class='type'>ILo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment