[{"data":1,"prerenderedAt":1066},["ShallowReactive",2],{"navigation":3,"\u002Fguides\u002Ftransients":170,"\u002Fguides\u002Ftransients-surround":1061},[4,25,104,150,160],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-rocket",{"title":26,"icon":6,"path":27,"stem":28,"children":29,"page":6},"Guides","\u002Fguides","2.guides",[30,35,40,45,50,55,60,65,70,75,79,84,89,94,99],{"title":31,"path":32,"stem":33,"icon":34},"Seeds and TestBiome","\u002Fguides\u002Fseeds-and-testbiome","2.guides\u002F01.seeds-and-testbiome","i-lucide-sprout",{"title":36,"path":37,"stem":38,"icon":39},"Blueprints","\u002Fguides\u002Fblueprints","2.guides\u002F02.blueprints","i-lucide-drafting-compass",{"title":41,"path":42,"stem":43,"icon":44},"Customizing","\u002Fguides\u002Fcustomizing","2.guides\u002F03.customizing","i-lucide-sliders-horizontal",{"title":46,"path":47,"stem":48,"icon":49},"Parent\u002Fchild chains and .Under","\u002Fguides\u002Fparents-and-children","2.guides\u002F04.parents-and-children","i-lucide-git-fork",{"title":51,"path":52,"stem":53,"icon":54},"Fan-out","\u002Fguides\u002Ffan-out","2.guides\u002F05.fan-out","i-lucide-split",{"title":56,"path":57,"stem":58,"icon":59},"Sequences","\u002Fguides\u002Fsequences","2.guides\u002F06.sequences","i-lucide-list-ordered",{"title":61,"path":62,"stem":63,"icon":64},"Time and precision","\u002Fguides\u002Ftime-and-precision","2.guides\u002F07.time-and-precision","i-lucide-clock",{"title":66,"path":67,"stem":68,"icon":69},"Transients","\u002Fguides\u002Ftransients","2.guides\u002F08.transients","i-lucide-ghost",{"title":71,"path":72,"stem":73,"icon":74},"Aggregates","\u002Fguides\u002Faggregates","2.guides\u002F09.aggregates","i-lucide-boxes",{"title":76,"path":77,"stem":78,"icon":74},"Input blueprints","\u002Fguides\u002Finput-blueprints","2.guides\u002F09.input-blueprints",{"title":80,"path":81,"stem":82,"icon":83},"Save hooks and global defaults","\u002Fguides\u002Fsave-hooks-and-defaults","2.guides\u002F10.save-hooks-and-defaults","i-lucide-webhook",{"title":85,"path":86,"stem":87,"icon":88},"EF Core store","\u002Fguides\u002Fef-core-store","2.guides\u002F11.ef-core-store","i-lucide-database",{"title":90,"path":91,"stem":92,"icon":93},"No-DB unit tests","\u002Fguides\u002Fno-db-unit-tests","2.guides\u002F12.no-db-unit-tests","i-lucide-flask-conical",{"title":95,"path":96,"stem":97,"icon":98},"Generated grafts and scenario helpers","\u002Fguides\u002Fscenario-helpers-and-sugar","2.guides\u002F13.scenario-helpers-and-sugar","i-lucide-wand-sparkles",{"title":100,"path":101,"stem":102,"icon":103},"Constructor setup","\u002Fguides\u002Fconstructor-setup","2.guides\u002F14.constructor-setup","i-lucide-blocks",{"title":105,"path":106,"stem":107,"children":108,"icon":6},"Examples","\u002Fexamples","3.examples\u002F1.index",[109,111,116,121,126,130,135,140,145],{"title":105,"path":106,"stem":107,"icon":110},"i-lucide-library",{"title":112,"path":113,"stem":114,"icon":115},"Code reviews","\u002Fexamples\u002Fcode-reviews","3.examples\u002F2.code-reviews","i-lucide-git-pull-request",{"title":117,"path":118,"stem":119,"icon":120},"Membership","\u002Fexamples\u002Fmembership","3.examples\u002F3.membership","i-lucide-users",{"title":122,"path":123,"stem":124,"icon":125},"Board","\u002Fexamples\u002Fboard","3.examples\u002F4.board","i-lucide-kanban",{"title":127,"path":128,"stem":129,"icon":44},"Custom seed","\u002Fexamples\u002Fcustom-seed","3.examples\u002F5.custom-seed",{"title":131,"path":132,"stem":133,"icon":134},"Commerce","\u002Fexamples\u002Fcommerce","3.examples\u002F6.commerce","i-lucide-shopping-cart",{"title":136,"path":137,"stem":138,"icon":139},"Project management","\u002Fexamples\u002Fproject-management","3.examples\u002F7.project-management","i-lucide-folder-kanban",{"title":141,"path":142,"stem":143,"icon":144},"Learning","\u002Fexamples\u002Flearning","3.examples\u002F8.learning","i-lucide-graduation-cap",{"title":146,"path":147,"stem":148,"icon":149},"Docs ingest","\u002Fexamples\u002Fdocs-ingest","3.examples\u002F9.docs-ingest","i-lucide-file-search",{"title":151,"icon":6,"path":152,"stem":153,"children":154,"page":6},"Reference","\u002Freference","4.reference",[155],{"title":156,"path":157,"stem":158,"icon":159},"API cheat sheet","\u002Freference\u002Fapi-cheat-sheet","4.reference\u002F1.api-cheat-sheet","i-lucide-list-checks",{"title":161,"icon":6,"path":162,"stem":163,"children":164,"page":6},"Agent Skills","\u002Fagents","5.agents",[165],{"title":166,"path":167,"stem":168,"icon":169},"Agent skills","\u002Fagents\u002Fagent-skills","5.agents\u002F1.agent-skills","i-lucide-bot",{"id":171,"title":66,"body":172,"description":1054,"extension":1055,"links":1056,"meta":1057,"navigation":1058,"path":67,"seo":1059,"stem":68,"__hash__":1060},"docs\u002F2.guides\u002F08.transients.md",{"type":173,"value":174,"toc":1050},"minimark",[175,180,189,621,625,679,864,873,892,1040,1046],[176,177,179],"h2",{"id":178},"inputs-the-code-under-test-should-create","Inputs the code under test should create",[181,182,183,184,188],"p",{},"When you test an insert, saving the input during setup would do the work the test is supposed to exercise. You still want the blueprint's valid defaults, though. Mark the entity ",[185,186,187],"strong",{},"transient"," to build and return it while excluding it from Biome's save list.",[190,191,192,360],"code-group",{},[193,194,202],"pre",{"className":195,"code":196,"filename":197,"highlights":198,"language":200,"meta":201,"style":201},"language-csharp shiki shiki-themes material-theme-lighter github-light github-dark","await TestBiome\n    .Start(_db, out _)\n    .AddOne(\n        Blueprints.PendingInvitation,\n        out var invitation,\n        i => i.InvitedEmail = \"new@example.test\"\n    )\n    .Transient() \u002F\u002F put it right after the step it marks\n    .BuildAsync();\n\u002F\u002F act: await invitations.CreateAsync(invitation);\n","With Biome",[199],8,"csharp","",[203,204,205,218,248,259,274,290,321,327,343,354],"code",{"__ignoreMap":201},[206,207,210,214],"span",{"class":208,"line":209},"line",1,[206,211,213],{"class":212},"smGrS","await",[206,215,217],{"class":216},"su5hD"," TestBiome\n",[206,219,221,225,229,232,235,238,242,245],{"class":208,"line":220},2,[206,222,224],{"class":223},"sP7_E","    .",[206,226,228],{"class":227},"sGLFI","Start",[206,230,231],{"class":223},"(",[206,233,234],{"class":216},"_db",[206,236,237],{"class":223},",",[206,239,241],{"class":240},"sbsja"," out",[206,243,244],{"class":216}," _",[206,246,247],{"class":223},")\n",[206,249,251,253,256],{"class":208,"line":250},3,[206,252,224],{"class":223},[206,254,255],{"class":227},"AddOne",[206,257,258],{"class":223},"(\n",[206,260,262,265,268,271],{"class":208,"line":261},4,[206,263,264],{"class":216},"        Blueprints",[206,266,267],{"class":223},".",[206,269,270],{"class":216},"PendingInvitation",[206,272,273],{"class":223},",\n",[206,275,277,280,284,288],{"class":208,"line":276},5,[206,278,279],{"class":240},"        out",[206,281,283],{"class":282},"sG8yY"," var",[206,285,287],{"class":286},"sbgvK"," invitation",[206,289,273],{"class":223},[206,291,293,296,299,302,304,307,310,314,318],{"class":208,"line":292},6,[206,294,295],{"class":286},"        i",[206,297,298],{"class":212}," =>",[206,300,301],{"class":216}," i",[206,303,267],{"class":223},[206,305,306],{"class":216},"InvitedEmail ",[206,308,309],{"class":212},"=",[206,311,313],{"class":312},"sjJ54"," \"",[206,315,317],{"class":316},"s_sjI","new@example.test",[206,319,320],{"class":312},"\"\n",[206,322,324],{"class":208,"line":323},7,[206,325,326],{"class":223},"    )\n",[206,328,331,333,336,339],{"class":329,"line":199},[208,330],"highlight",[206,332,224],{"class":223},[206,334,335],{"class":227},"Transient",[206,337,338],{"class":223},"()",[206,340,342],{"class":341},"sutJx"," \u002F\u002F put it right after the step it marks\n",[206,344,346,348,351],{"class":208,"line":345},9,[206,347,224],{"class":223},[206,349,350],{"class":227},"BuildAsync",[206,352,353],{"class":223},"();\n",[206,355,357],{"class":208,"line":356},10,[206,358,359],{"class":341},"\u002F\u002F act: await invitations.CreateAsync(invitation);\n",[361,362,365],"code-collapse",{"label":363,"name":364},"Without Biome","setup",[193,366,368],{"className":195,"code":367,"language":200,"meta":201,"style":201},"\u002F\u002F Build the object, then remember not to add it to the context.\nvar invitation = new OrganizationMembership\n{\n    Id = $\"mem_{Guid.CreateVersion7():N}\",\n    OrganizationId = seed.Organization.Id,\n    Role = \"member\",\n    Status = MembershipStatus.Pending,\n    InvitedEmail = \"new@example.test\",\n    CreatedByUserId = seed.Owner.Id,\n    CreatedAtUtc = now,\n    ExpiresAtUtc = now.AddDays(7),\n};\n_db.AddRange(seed.Owner, seed.Organization); \u002F\u002F note: not `invitation`\nawait _db.SaveChangesAsync();\n\u002F\u002F act: await invitations.CreateAsync(invitation);\n",[203,369,370,375,391,396,436,458,474,491,506,526,538,562,568,601,616],{"__ignoreMap":201},[206,371,372],{"class":208,"line":209},[206,373,374],{"class":341},"\u002F\u002F Build the object, then remember not to add it to the context.\n",[206,376,377,380,382,385,388],{"class":208,"line":220},[206,378,379],{"class":282},"var",[206,381,287],{"class":286},[206,383,384],{"class":212}," =",[206,386,387],{"class":212}," new",[206,389,390],{"class":286}," OrganizationMembership\n",[206,392,393],{"class":208,"line":250},[206,394,395],{"class":223},"{\n",[206,397,398,401,403,406,409,412,415,417,420,422,425,428,431,434],{"class":208,"line":261},[206,399,400],{"class":216},"    Id ",[206,402,309],{"class":212},[206,404,405],{"class":312}," $\"",[206,407,408],{"class":316},"mem_",[206,410,411],{"class":312},"{",[206,413,414],{"class":216},"Guid",[206,416,267],{"class":312},[206,418,419],{"class":227},"CreateVersion7",[206,421,338],{"class":312},[206,423,424],{"class":212},":",[206,426,427],{"class":216},"N",[206,429,430],{"class":312},"}",[206,432,433],{"class":312},"\"",[206,435,273],{"class":223},[206,437,438,441,443,446,448,451,453,456],{"class":208,"line":276},[206,439,440],{"class":216},"    OrganizationId ",[206,442,309],{"class":212},[206,444,445],{"class":216}," seed",[206,447,267],{"class":223},[206,449,450],{"class":216},"Organization",[206,452,267],{"class":223},[206,454,455],{"class":216},"Id",[206,457,273],{"class":223},[206,459,460,463,465,467,470,472],{"class":208,"line":292},[206,461,462],{"class":216},"    Role ",[206,464,309],{"class":212},[206,466,313],{"class":312},[206,468,469],{"class":316},"member",[206,471,433],{"class":312},[206,473,273],{"class":223},[206,475,476,479,481,484,486,489],{"class":208,"line":323},[206,477,478],{"class":216},"    Status ",[206,480,309],{"class":212},[206,482,483],{"class":216}," MembershipStatus",[206,485,267],{"class":223},[206,487,488],{"class":216},"Pending",[206,490,273],{"class":223},[206,492,493,496,498,500,502,504],{"class":208,"line":199},[206,494,495],{"class":216},"    InvitedEmail ",[206,497,309],{"class":212},[206,499,313],{"class":312},[206,501,317],{"class":316},[206,503,433],{"class":312},[206,505,273],{"class":223},[206,507,508,511,513,515,517,520,522,524],{"class":208,"line":345},[206,509,510],{"class":216},"    CreatedByUserId ",[206,512,309],{"class":212},[206,514,445],{"class":216},[206,516,267],{"class":223},[206,518,519],{"class":216},"Owner",[206,521,267],{"class":223},[206,523,455],{"class":216},[206,525,273],{"class":223},[206,527,528,531,533,536],{"class":208,"line":356},[206,529,530],{"class":216},"    CreatedAtUtc ",[206,532,309],{"class":212},[206,534,535],{"class":216}," now",[206,537,273],{"class":223},[206,539,541,544,546,548,550,553,555,559],{"class":208,"line":540},11,[206,542,543],{"class":216},"    ExpiresAtUtc ",[206,545,309],{"class":212},[206,547,535],{"class":216},[206,549,267],{"class":223},[206,551,552],{"class":227},"AddDays",[206,554,231],{"class":223},[206,556,558],{"class":557},"srdBf","7",[206,560,561],{"class":223},"),\n",[206,563,565],{"class":208,"line":564},12,[206,566,567],{"class":223},"};\n",[206,569,571,573,575,578,580,583,585,587,589,591,593,595,598],{"class":208,"line":570},13,[206,572,234],{"class":216},[206,574,267],{"class":223},[206,576,577],{"class":227},"AddRange",[206,579,231],{"class":223},[206,581,582],{"class":216},"seed",[206,584,267],{"class":223},[206,586,519],{"class":216},[206,588,237],{"class":223},[206,590,445],{"class":216},[206,592,267],{"class":223},[206,594,450],{"class":216},[206,596,597],{"class":223},");",[206,599,600],{"class":341}," \u002F\u002F note: not `invitation`\n",[206,602,604,606,609,611,614],{"class":208,"line":603},14,[206,605,213],{"class":212},[206,607,608],{"class":216}," _db",[206,610,267],{"class":223},[206,612,613],{"class":227},"SaveChangesAsync",[206,615,353],{"class":223},[206,617,619],{"class":208,"line":618},15,[206,620,359],{"class":341},[176,622,624],{"id":623},"two-ways-to-mark-one","Two ways to mark one",[626,627,628,644],"table",{},[629,630,631],"thead",{},[632,633,634,638,641],"tr",{},[635,636,637],"th",{},"Form",[635,639,640],{},"Scope",[635,642,643],{},"Use",[645,646,647,665],"tbody",{},[632,648,649,656,662],{},[650,651,652,655],"td",{},[203,653,654],{},".Transient()"," on the builder",[650,657,658,659],{},"The ",[185,660,661],{},"most recent Add step",[650,663,664],{},"One test needs an unsaved input.",[632,666,667,673,676],{},[650,668,669,672],{},[203,670,671],{},"bp.AsTransient()"," on a blueprint",[650,674,675],{},"Every use of that blueprint",[650,677,678],{},"The entity is always an input.",[193,680,684],{"className":195,"code":681,"filename":682,"highlights":683,"language":200,"meta":201,"style":201},"\u002F\u002F Request DTOs can be built alongside stored\n\u002F\u002F entities; transient is a blueprint variant.\ninternal static readonly ChildBlueprint\u003C\n    CommerceSeed,\n    Order,\n    CheckoutInput\n> Checkout = Blueprint\n    .ChildOf\u003CCommerceSeed, Order, CheckoutInput>(\n        (order, _) => new() { Order = order }\n    )\n    .Derive(i => i.Reference, (i, _) => i.Order.Reference)\n    .AsTransient();\n","Blueprints.cs",[564],[203,685,686,691,696,713,718,723,728,741,767,802,806,854],{"__ignoreMap":201},[206,687,688],{"class":208,"line":209},[206,689,690],{"class":341},"\u002F\u002F Request DTOs can be built alongside stored\n",[206,692,693],{"class":208,"line":220},[206,694,695],{"class":341},"\u002F\u002F entities; transient is a blueprint variant.\n",[206,697,698,701,704,707,710],{"class":208,"line":250},[206,699,700],{"class":240},"internal",[206,702,703],{"class":240}," static",[206,705,706],{"class":240}," readonly",[206,708,709],{"class":216}," ChildBlueprint",[206,711,712],{"class":212},"\u003C\n",[206,714,715],{"class":208,"line":261},[206,716,717],{"class":216},"    CommerceSeed,\n",[206,719,720],{"class":208,"line":276},[206,721,722],{"class":216},"    Order,\n",[206,724,725],{"class":208,"line":292},[206,726,727],{"class":216},"    CheckoutInput\n",[206,729,730,733,736,738],{"class":208,"line":323},[206,731,732],{"class":212},">",[206,734,735],{"class":216}," Checkout ",[206,737,309],{"class":212},[206,739,740],{"class":216}," Blueprint\n",[206,742,743,745,748,751,754,756,759,761,764],{"class":208,"line":199},[206,744,224],{"class":223},[206,746,747],{"class":227},"ChildOf",[206,749,750],{"class":223},"\u003C",[206,752,753],{"class":286},"CommerceSeed",[206,755,237],{"class":223},[206,757,758],{"class":286}," Order",[206,760,237],{"class":223},[206,762,763],{"class":286}," CheckoutInput",[206,765,766],{"class":223},">(\n",[206,768,769,772,775,777,779,782,784,786,788,791,794,796,799],{"class":208,"line":345},[206,770,771],{"class":223},"        (",[206,773,774],{"class":286},"order",[206,776,237],{"class":223},[206,778,244],{"class":286},[206,780,781],{"class":223},")",[206,783,298],{"class":212},[206,785,387],{"class":212},[206,787,338],{"class":223},[206,789,790],{"class":223}," {",[206,792,793],{"class":216}," Order ",[206,795,309],{"class":212},[206,797,798],{"class":216}," order ",[206,800,801],{"class":223},"}\n",[206,803,804],{"class":208,"line":356},[206,805,326],{"class":223},[206,807,808,810,813,815,818,820,822,824,826,828,831,833,835,837,839,841,843,845,848,850,852],{"class":208,"line":540},[206,809,224],{"class":223},[206,811,812],{"class":227},"Derive",[206,814,231],{"class":223},[206,816,817],{"class":286},"i",[206,819,298],{"class":212},[206,821,301],{"class":216},[206,823,267],{"class":223},[206,825,151],{"class":216},[206,827,237],{"class":223},[206,829,830],{"class":223}," (",[206,832,817],{"class":286},[206,834,237],{"class":223},[206,836,244],{"class":286},[206,838,781],{"class":223},[206,840,298],{"class":212},[206,842,301],{"class":216},[206,844,267],{"class":223},[206,846,847],{"class":216},"Order",[206,849,267],{"class":223},[206,851,151],{"class":216},[206,853,247],{"class":223},[206,855,857,859,862],{"class":856,"line":564},[208,330],[206,858,224],{"class":223},[206,860,861],{"class":227},"AsTransient",[206,863,353],{"class":223},[865,866,867],"note",{},[181,868,869,870,872],{},"Builders share a session, and ",[203,871,654],{}," marks that session's most recent Add step. Place it immediately after the intended step so its scope is clear, even if you keep an earlier builder in a variable.",[181,874,875,876,879,880,883,884,887,888,891],{},"Transient entities are still ",[185,877,878],{},"inspectable",": ",[203,881,882],{},"biome.All\u003CT>()"," includes them, and ",[203,885,886],{},"out"," variables hold them. A transient ",[185,889,890],{},"aggregate"," excludes all of its parts from the save.",[193,893,897],{"className":195,"code":894,"filename":895,"highlights":896,"language":200,"meta":201,"style":201},"await biome\n    .AddCustomers(out var customers, 2)\n    .AddOrders(out var orders, 3)\n    .AddLineItems(out var lines, 4)\n    \u002F\u002F Jump back to orders: checkout inputs are siblings\n    \u002F\u002F of lines, not children of the last step.\n    .Under(orders)\n    .AddCheckoutInputs(out var inputs, 1) \u002F\u002F AsTransient lives on the blueprint\n    .BuildAsync();\n\u002F\u002F biome.All\u003CCheckoutInput>().Count == 6, but the store never receives them\n","CommerceTests.cs",[323,199],[203,898,899,906,929,952,975,980,985,1000,1027,1035],{"__ignoreMap":201},[206,900,901,903],{"class":208,"line":209},[206,902,213],{"class":212},[206,904,905],{"class":216}," biome\n",[206,907,908,910,913,915,917,919,922,924,927],{"class":208,"line":220},[206,909,224],{"class":223},[206,911,912],{"class":227},"AddCustomers",[206,914,231],{"class":223},[206,916,886],{"class":240},[206,918,283],{"class":282},[206,920,921],{"class":286}," customers",[206,923,237],{"class":223},[206,925,926],{"class":557}," 2",[206,928,247],{"class":223},[206,930,931,933,936,938,940,942,945,947,950],{"class":208,"line":250},[206,932,224],{"class":223},[206,934,935],{"class":227},"AddOrders",[206,937,231],{"class":223},[206,939,886],{"class":240},[206,941,283],{"class":282},[206,943,944],{"class":286}," orders",[206,946,237],{"class":223},[206,948,949],{"class":557}," 3",[206,951,247],{"class":223},[206,953,954,956,959,961,963,965,968,970,973],{"class":208,"line":261},[206,955,224],{"class":223},[206,957,958],{"class":227},"AddLineItems",[206,960,231],{"class":223},[206,962,886],{"class":240},[206,964,283],{"class":282},[206,966,967],{"class":286}," lines",[206,969,237],{"class":223},[206,971,972],{"class":557}," 4",[206,974,247],{"class":223},[206,976,977],{"class":208,"line":276},[206,978,979],{"class":341},"    \u002F\u002F Jump back to orders: checkout inputs are siblings\n",[206,981,982],{"class":208,"line":292},[206,983,984],{"class":341},"    \u002F\u002F of lines, not children of the last step.\n",[206,986,988,990,993,995,998],{"class":987,"line":323},[208,330],[206,989,224],{"class":223},[206,991,992],{"class":227},"Under",[206,994,231],{"class":223},[206,996,997],{"class":216},"orders",[206,999,247],{"class":223},[206,1001,1003,1005,1008,1010,1012,1014,1017,1019,1022,1024],{"class":1002,"line":199},[208,330],[206,1004,224],{"class":223},[206,1006,1007],{"class":227},"AddCheckoutInputs",[206,1009,231],{"class":223},[206,1011,886],{"class":240},[206,1013,283],{"class":282},[206,1015,1016],{"class":286}," inputs",[206,1018,237],{"class":223},[206,1020,1021],{"class":557}," 1",[206,1023,781],{"class":223},[206,1025,1026],{"class":341}," \u002F\u002F AsTransient lives on the blueprint\n",[206,1028,1029,1031,1033],{"class":208,"line":345},[206,1030,224],{"class":223},[206,1032,350],{"class":227},[206,1034,353],{"class":223},[206,1036,1037],{"class":208,"line":356},[206,1038,1039],{"class":341},"\u002F\u002F biome.All\u003CCheckoutInput>().Count == 6, but the store never receives them\n",[1041,1042,1043],"warning",{},[181,1044,1045],{},"Excluding a row from Biome's save list does not stop EF Core from discovering it through a saved row's navigation. If the input must stay unsaved, remove that reference or make the referencing row transient too.",[1047,1048,1049],"style",{},"html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sG8yY, html code.shiki .sG8yY{--shiki-light:#E2931D;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":201,"searchDepth":209,"depth":220,"links":1051},[1052,1053],{"id":178,"depth":220,"text":179},{"id":623,"depth":220,"text":624},"Build an entity and return it, without saving it.","md",null,{},{"icon":69},{"title":66,"description":1054},"ABgpPn_jxOKu-DaKoQNRHoly66Y8_GDmrzEArvgwLfE",[1062,1064],{"title":61,"path":62,"stem":63,"description":1063,"icon":64,"children":-1},"One clock per test, frozen or shared with the code under test, rounded to match your database.",{"title":71,"path":72,"stem":73,"description":1065,"icon":74,"children":-1},"One input, several rows. Aggregates are built with input blueprints, so the full guide lives there.",1791831052272]