-
-
Notifications
You must be signed in to change notification settings - Fork 6
facet search #441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
facet search #441
Conversation
WalkthroughThis pull request adds the 250th RSCG entry: Facet.Search by Tim Maes. It introduces a new example project, generator metadata, documentation pages, site/category updates, a CodeTour, and increments all repository references from 249 to 250. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
🧹 Nitpick comments (1)
v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md (1)
378-381: Replace hard tabs with spaces.The PropertyGroup section uses hard tabs instead of spaces. For consistency with the rest of the file and Markdown best practices, use spaces for indentation.
🔎 Proposed fix
- <PropertyGroup> - <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles> - <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath> - </PropertyGroup> + <PropertyGroup> + <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles> + <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath> + </PropertyGroup>
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (3)
v2/Generator/all.csvis excluded by!**/*.csvv2/rscg_examples_site/static/exports/RSCG.xlsxis excluded by!**/*.xlsxv2/rscg_examples_site/static/sources/Facet.Search.zipis excluded by!**/*.zip
📒 Files selected for processing (26)
README.md(2 hunks)later.md(1 hunks)v2/.tours/Facet.Search.tour(1 hunks)v2/RSCGExamplesData/GeneratorDataRec.json(1 hunks)v2/book/examples/Facet.Search.html(1 hunks)v2/book/examples/RSCG_ExportDiagram.html(1 hunks)v2/book/examples/Silhouette.html(1 hunks)v2/book/list.html(2 hunks)v2/book/pandocHTML.yaml(1 hunks)v2/rscg_examples/Facet.Search/description.json(1 hunks)v2/rscg_examples/Facet.Search/nuget.txt(1 hunks)v2/rscg_examples/Facet.Search/readme.txt(1 hunks)v2/rscg_examples/Facet.Search/src/SearchDemo.slnx(1 hunks)v2/rscg_examples/Facet.Search/src/SearchDemo/Person.cs(1 hunks)v2/rscg_examples/Facet.Search/src/SearchDemo/Program.cs(1 hunks)v2/rscg_examples/Facet.Search/src/SearchDemo/SearchDemo.csproj(1 hunks)v2/rscg_examples/Facet.Search/video.json(1 hunks)v2/rscg_examples_site/docs/Authors/Tim_Maes.md(1 hunks)v2/rscg_examples_site/docs/Categories/Database.md(1 hunks)v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx(1 hunks)v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md(1 hunks)v2/rscg_examples_site/docs/RSCG-Examples/index.md(4 hunks)v2/rscg_examples_site/docs/about.md(1 hunks)v2/rscg_examples_site/docs/indexRSCG.md(2 hunks)v2/rscg_examples_site/src/components/HomepageFeatures/index.js(1 hunks)v2/rscg_examples_site/static/exports/RSCG.json(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
v2/rscg_examples/Facet.Search/src/SearchDemo/Program.cs (1)
v2/rscg_examples/Facet.Search/src/SearchDemo/Person.cs (2)
MyAppContext(21-41)MyAppContext(23-34)
🪛 Biome (2.1.2)
v2/rscg_examples/Facet.Search/video.json
[error] 35-36: Property key must be double quoted
(parse)
[error] 36-36: unexpected character =
(parse)
[error] 36-36: expected , but instead found " "
Remove " "
(parse)
[error] 36-36: expected : but instead found }
Remove }
(parse)
[error] 37-38: Expected an array, an object, or a literal but instead found ']'.
Expected an array, an object, or a literal here.
(parse)
🪛 LanguageTool
v2/rscg_examples/Facet.Search/readme.txt
[style] ~4-~4: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...acet.Search/actions/workflows/test.yml) [![NuGet...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~5-~5: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...t.Search/actions/workflows/release.yml) [
[style] ~6-~6: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...://www.nuget.org/packages/Facet.Search) [
[style] ~7-~7: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...://www.nuget.org/packages/Facet.Search) [
[style] ~215-~215: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...et; set; } ### `[FullTextSearch]` Marks a property for full-text search. cs...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~228-~228: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... { get; set; } ``` ### [Searchable] Marks a property as searchable but not a face...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~283-~283: Consider using a less common alternative to make your writing sound more unique and professional.
Context: ...ontributing Contributions are welcome! Please feel free to submit a Pull Request. ## Related Proj...
(FEEL_FREE_TO_STYLE_ME)
v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx
[style] ~9-~9: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... 4 Facet.Search [](https://www.nuget....
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~9-~9: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...//www.nuget.org/packages/Facet.Search/) 2025-12-17 5 [Finch.G...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~11-~11: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...nch.Generators](/docs/Finch.Generators) [](https://www.nu...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~17-~17: Using many exclamation marks might seem excessive (in this case: 16 exclamation marks for a text that’s 2214 characters long)
Context: ...2024-06-01 8 Unflat 
v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md
[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...acet.Search/actions/workflows/test.yml) [![NuGet...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~56-~56: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...t.Search/actions/workflows/release.yml) [
[style] ~57-~57: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...://www.nuget.org/packages/Facet.Search) [
[style] ~58-~58: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...://www.nuget.org/packages/Facet.Search) [
[style] ~266-~266: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...et; set; } ### `[FullTextSearch]` Marks a property for full-text search. cs...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~279-~279: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...{ get; set; } ``` ### [Searchable] Marks a property as searchable but not a face...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~334-~334: Consider using a less common alternative to make your writing sound more unique and professional.
Context: ...ontributing Contributions are welcome! Please feel free to submit a Pull Request. ## Related Proj...
(FEEL_FREE_TO_STYLE_ME)
[grammar] ~346-~346: Ensure spelling is correct
Context: ...bout :::note Generating search from C# clasess and properties Integrating search in ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.18.1)
v2/rscg_examples_site/docs/indexRSCG.md
23-23: Spaces inside link text
(MD039, no-space-in-links)
v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md
34-34: Bare URL used
(MD034, no-bare-urls)
37-37: Bare URL used
(MD034, no-bare-urls)
39-39: Bare URL used
(MD034, no-bare-urls)
306-306: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
378-378: Hard tabs
Column: 1
(MD010, no-hard-tabs)
379-379: Hard tabs
Column: 1
(MD010, no-hard-tabs)
380-380: Hard tabs
Column: 1
(MD010, no-hard-tabs)
381-381: Hard tabs
Column: 1
(MD010, no-hard-tabs)
506-506: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
519-519: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
598-598: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
625-625: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
705-705: Spaces inside link text
(MD039, no-space-in-links)
719-719: Bare URL used
(MD034, no-bare-urls)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: call-workflow-passing-data / build (24.3.0)
🔇 Additional comments (24)
v2/RSCGExamplesData/GeneratorDataRec.json (1)
1513-1518: JSON structure is correct; confirm category assignment for Facet.Search.The new entry is properly formatted with correct JSON syntax and comma placement. However, Facet.Search uses source generators to automatically create search filter classes, LINQ extension methods, facet aggregations, and metadata from your domain models, which differs from the other Category 14 entries (Gedaq, Breezy, TableStorage, Dapper.AOT, etc.) that generate database access layers. While Facet.Search works with databases via EF Core, its primary purpose is search/filtering, not data access generation.
Verify that Category 14 is the correct classification for this search-filtering generator, or consider moving it to a more appropriate category if one exists.
v2/rscg_examples_site/docs/about.md (1)
9-9: LGTM!The count update to 250 is consistent with the addition of Facet.Search as the new RSCG entry.
later.md (1)
3-3: LGTM!Date update reflects the latest activity on this tracking file.
v2/book/examples/RSCG_ExportDiagram.html (1)
9-9: LGTM!Author name formatting improved to use proper "First Last" convention.
v2/rscg_examples_site/docs/Authors/Tim_Maes.md (1)
3-9: LGTM!The new Facet.Search entry follows the established format and is properly linked with NuGet and GitHub badges. The RSCG count is correctly updated to 2.
v2/rscg_examples/Facet.Search/nuget.txt (1)
1-1: LGTM!Clear and concise description for the Facet.Search package.
v2/book/examples/Silhouette.html (1)
31-37: LGTM!The new MyProfiler.cs documentation section follows the established HTML structure pattern used for other source files in this example.
v2/rscg_examples/Facet.Search/description.json (1)
1-22: Overall structure looks good.The JSON descriptor follows the expected schema for RSCG examples. The generator metadata, file references, and links are properly defined.
v2/book/pandocHTML.yaml (1)
266-266: LGTM!The new Facet.Search.html entry is correctly added to the Pandoc input files list and the corresponding file exists in the examples directory.
v2/.tours/Facet.Search.tour (1)
2-52: CodeTour JSON and step definitions look structurally soundThe tour JSON is syntactically valid, and the step list correctly points to the csproj, source, and generated files. Note that the last four steps depend on generated
.g.csfiles underobj/...; ensure your build or repo layout consistently produces/commits those so the tour doesn’t break on a clean checkout.README.md (1)
27-49: New Facet.Search entry and updated counts/dates are internally consistentThe repository-wide count, “Latest Update” date, and the new
### 250. Facet.Searchblock (author, category, NuGet, docs and source links) all match the existing conventions and align correctly with the previous 249 entries.v2/rscg_examples/Facet.Search/readme.txt (1)
271-276: Verify the.NET 10+requirement forFacet.Search.EFCoreIn the Requirements section you mention:
.NET Standard 2.0+(Facet.Search).NET 10+(Facet.Search.EFCore)Given current .NET versioning and the target frameworks used in
SearchDemo.csproj/the EFCore package, it’d be good to double‑check thatFacet.Search.EFCoretruly requiresnet10.0+(and not, for example,net8.0+) so this doesn’t confuse consumers of the example.v2/rscg_examples/Facet.Search/src/SearchDemo.slnx (1)
1-3: Minimal.slnxsolution is correctly wired to the demo projectThe
<Solution>/<Project>structure is valid, and the relative pathSearchDemo/SearchDemo.csprojmatches the expected project location under this folder, so this should open the demo cleanly in tools that support.slnx.v2/book/list.html (1)
20-20: LGTM!The header count update to 250 and new table row for Facet.Search are correctly implemented, following the existing pattern.
Also applies to: 1025-1028
v2/rscg_examples_site/src/components/HomepageFeatures/index.js (1)
7-7: LGTM!The examples count is correctly updated to 250.
v2/rscg_examples_site/static/exports/RSCG.json (1)
1996-2004: LGTM!The new Facet.Search entry is correctly structured with all required fields and consistent metadata (Category: Database, AddedOn: 2025-12-17).
v2/rscg_examples_site/docs/Categories/Database.md (1)
3-19: LGTM!The Database category is correctly updated with Facet.Search inserted in alphabetical order, count updated to 8, and existing items properly renumbered.
v2/rscg_examples/Facet.Search/src/SearchDemo/SearchDemo.csproj (1)
5-5: Update target framework status and verify package availability..NET 10 was released in November 2025 as a long-term support (LTS) version, so the project targeting
net10.0is no longer using a preview framework. However, Microsoft.EntityFrameworkCore.SqlServer version 10.0.1 exists on NuGet and is compatible with net10.0.The referenced packages Facet.Search and Facet.Search.EFCore (version 0.1.1) could not be located on the NuGet public feed. Verify these packages are published, available, and compatible with the current project configuration.
v2/rscg_examples_site/docs/RSCG-Examples/index.md (1)
3-4: LGTM! Index updates are consistent.The changes correctly reflect the addition of the 250th RSCG entry (Facet.Search) across the title, description, database category count, links section, and mermaid flowchart. All formatting follows the established patterns.
Also applies to: 364-364, 400-404, 1690-1691
v2/rscg_examples/Facet.Search/src/SearchDemo/Program.cs (1)
1-20: LGTM! Clean demonstration of Facet.Search usage.The program clearly demonstrates the faceted search workflow: creating a filter with multiple criteria (date range, boolean, numeric range, and text search), applying it to an EF Core query, and outputting the generated SQL for inspection.
v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx (1)
9-17: LGTM! Database category updated correctly.The new Facet.Search entry has been properly inserted at position 4, and existing entries have been renumbered accordingly. The formatting and badge links are consistent with the other entries.
v2/rscg_examples/Facet.Search/src/SearchDemo/Person.cs (2)
37-37: Placeholder connection string noted.The SQL Server connection string is a placeholder, which is appropriate for a demo/example project. Users will need to update this with their actual connection details or switch to an in-memory provider for testing.
6-18: LGTM! Facet attributes properly configured.The Person class is correctly decorated with
[FacetedSearch]and its properties use appropriate facet types (DateRange for DOB, Range for Salary, Boolean for IsActive, and FullTextSearch for Name). This will generate the expected filter and extension classes.v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md (1)
1-341: LGTM! Comprehensive documentation for Facet.Search.The documentation page provides excellent coverage including installation, quick start, usage examples, generated code artifacts, and attribute references. The structure follows the established pattern for RSCG documentation pages, and the technical content accurately represents the library's capabilities.
Also applies to: 355-698
|
|
||
| <h2>About</h2> | ||
|
|
||
| Generating search from C# clasess and propertiesIntegrating search in .NET applications |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo: "clasess" → "classes".
🔎 Proposed fix
-Generating search from C# clasess and propertiesIntegrating search in .NET applications
+Generating search from C# classes and properties. Integrating search in .NET applications.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Generating search from C# clasess and propertiesIntegrating search in .NET applications | |
| Generating search from C# classes and properties. Integrating search in .NET applications. |
🤖 Prompt for AI Agents
In v2/book/examples/Facet.Search.html around line 15, there's a typo: "clasess"
should be "classes"; update the text to read "Generating search from C# classes
and propertiesIntegrating search in .NET applications" (or if intended as two
sentences, add appropriate punctuation/spaces: "Generating search from C#
classes and properties. Integrating search in .NET applications").
|
|
||
| | No | Name | Date | Category | | ||
| | --------- | ----- | ---- | -------- | | ||
| |250| [Facet.Search by Tim Maes ](/docs/Facet.Search)|2025-12-17 => 17 December 2025 | [Database](/docs/Categories/Database) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix space inside link text (MD039).
There's a trailing space before the closing bracket in the link text. Static analysis flagged this as a markdown lint issue.
🔎 Proposed fix
-|250| [Facet.Search by Tim Maes ](/docs/Facet.Search)|2025-12-17 => 17 December 2025 | [Database](/docs/Categories/Database) |
+|250| [Facet.Search by Tim Maes](/docs/Facet.Search)|2025-12-17 => 17 December 2025 | [Database](/docs/Categories/Database) |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| |250| [Facet.Search by Tim Maes ](/docs/Facet.Search)|2025-12-17 => 17 December 2025 | [Database](/docs/Categories/Database) | | |
| |250| [Facet.Search by Tim Maes](/docs/Facet.Search)|2025-12-17 => 17 December 2025 | [Database](/docs/Categories/Database) | |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
23-23: Spaces inside link text
(MD039, no-space-in-links)
🤖 Prompt for AI Agents
In v2/rscg_examples_site/docs/indexRSCG.md around line 23, the markdown link
text "Facet.Search by Tim Maes " contains a trailing space before the closing
bracket; remove that extra space so the link text reads "Facet.Search by Tim
Maes" (i.e., edit the link to eliminate the space inside the brackets) to
satisfy MD039.
| ### About | ||
| :::note | ||
|
|
||
| Generating search from C# clasess and properties |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo in description.
Line 346 contains a spelling error: "clasess" should be "classes".
🔎 Proposed fix
-Generating search from C# clasess and properties
+Generating search from C# classes and properties📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Generating search from C# clasess and properties | |
| Generating search from C# classes and properties |
🧰 Tools
🪛 LanguageTool
[grammar] ~346-~346: Ensure spelling is correct
Context: ...bout :::note Generating search from C# clasess and properties Integrating search in ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents
In v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md around line 346, fix
the spelling mistake in the sentence "Generating search from C# clasess and
properties" by changing "clasess" to "classes" so the line reads "Generating
search from C# classes and properties".
| "source":"https://github.com/Tim-Maes/Facet.Search" | ||
| }, | ||
| "data":{ | ||
| "goodFor":["Generating search from C# clasess and properties","Integrating search in .NET applications"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo: "clasess" → "classes".
There's a typo in the goodFor description.
🔎 Proposed fix
- "goodFor":["Generating search from C# clasess and properties","Integrating search in .NET applications"],
+ "goodFor":["Generating search from C# classes and properties","Integrating search in .NET applications"],📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "goodFor":["Generating search from C# clasess and properties","Integrating search in .NET applications"], | |
| "goodFor":["Generating search from C# classes and properties","Integrating search in .NET applications"], |
🤖 Prompt for AI Agents
In v2/rscg_examples/Facet.Search/description.json around line 12, the string in
the goodFor array contains a typo: "clasess" should be "classes"; update that
entry to "Generating search from C# classes and properties" (preserve
surrounding punctuation and JSON formatting).
| public MyAppContext() | ||
| { | ||
| this.Person =this.Set<Person>(); | ||
| //fake | ||
| Person.Add(new Person() { | ||
| DOB= new DateTime(1970,4,16), | ||
| Id=1, | ||
| IsActive=true, | ||
| Name="Andrei Ignat", | ||
| Salary= 3 | ||
| }); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider seeding approach for the demo data.
The constructor adds a fake Person entity to the DbSet, but without calling SaveChanges(), this entity only exists in the EF Core ChangeTracker. Depending on how the demo is used, this might cause unexpected behavior.
For a demo/example, consider one of these alternatives:
- In-memory provider: Use
optionsBuilder.UseInMemoryDatabase("DemoDb")instead of SQL Server, then callSaveChanges()after adding the entity - OnModelCreating seed data: Override
OnModelCreatingand usemodelBuilder.Entity<Person>().HasData(...) - Explicit SaveChanges: Call
SaveChanges()afterPerson.Add(...)(though this requires a real database connection)
🔎 Proposed fix using in-memory database
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
- optionsBuilder.UseSqlServer("Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;");
+ optionsBuilder.UseInMemoryDatabase("DemoDb");
base.OnConfiguring(optionsBuilder);
}Then add after Line 33:
Salary= 3
});
+ SaveChanges();
}Note: This requires adding the Microsoft.EntityFrameworkCore.InMemory package.
Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In v2/rscg_examples/Facet.Search/src/SearchDemo/Person.cs around lines 23-34,
the constructor seeds a fake Person by adding to the DbSet but never persists
it; update the demo to use a reliable seeding approach: either switch the
DbContext options to an in-memory provider
(optionsBuilder.UseInMemoryDatabase("DemoDb")) and call SaveChanges() after
Person.Add(...), or move the seed into OnModelCreating using
modelBuilder.Entity<Person>().HasData(...) (preferred for deterministic demo
data), or if keeping runtime seeding call SaveChanges() immediately after adding
and ensure a valid connection string; implement one of these fixes and remove
the transient Add-only seeding from the constructor if using OnModelCreating.
| {"typeStep":"text","arg": "Today I will present Facet.Search . Generating search from C# clasess and propertiesIntegrating search in .NET applications ."}, | ||
| {"typeStep":"browser","arg":"https://www.nuget.org/packages/Facet.Search/"}, | ||
| {"typeStep":"text","arg": "The whole example is here"}, | ||
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet.Search"}, | ||
| {"typeStep":"text","arg": "You can download the code from here"}, | ||
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet.Search#download-example-net--c-"}, | ||
| {"typeStep":"text","arg":"Here is the code downloaded "}, | ||
| {"typeStep":"exec","arg":"explorer.exe /select,D:\\gth\\RSCG_Examples\\v2\\Generator.sln"}, | ||
| {"typeStep":"text","arg": "So , let's start the project with Visual Studio Code "}, | ||
| {"typeStep":"stepvscode","arg": "-n D:\\gth\\RSCG_Examples\\v2"}, | ||
|
|
||
| {"typeStep":"text","arg": "To use it ,you will put the Nuget Facet.Search into the csproj "}, | ||
|
|
||
| {"typeStep":"stepvscode","arg": "-r -g D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\Facet.Search\\src\\SearchDemo\\SearchDemo.csproj"}, | ||
|
|
||
| {"typeStep":"text","arg": "And now I will show you an example of using Facet.Search"}, | ||
|
|
||
| {"typeStep":"hide","arg": "now execute the tour in VSCode"}, | ||
| {"typeStep":"tour", "arg": "src/.tours/"}, | ||
| {"typeStep":"text","arg":" And I will execute the project"}, | ||
| {"typeStep":"showproj", "arg":"SearchDemo.csproj"}, | ||
| {"typeStep":"text","arg":" This concludes the project"}, | ||
| {"typeStep":"waitseconds","arg":"30"}, | ||
| {"typeStep":"text","arg": "Remember, you can download the code from here"}, | ||
| {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet.Search#download-example-net--c-", | ||
| SpeakTest=" "}, | ||
| {"typeStep":"waitseconds","arg":"30"}, | ||
| ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
find . -name "video.json" -path "*/Facet.Search/*" | head -5Repository: ignatandrei/RSCG_Examples
Length of output: 111
🏁 Script executed:
# Read the video.json file to verify syntax issues
cat "v2/rscg_examples/Facet.Search/video.json"Repository: ignatandrei/RSCG_Examples
Length of output: 2298
🏁 Script executed:
# Validate JSON syntax
python3 << 'EOF'
import json
try:
with open("v2/rscg_examples/Facet.Search/video.json", "r") as f:
json.load(f)
print("✓ Valid JSON")
except json.JSONDecodeError as e:
print(f"✗ Invalid JSON: {e}")
print(f" Line: {e.lineno}, Column: {e.colno}")
print(f" Error: {e.msg}")
EOFRepository: ignatandrei/RSCG_Examples
Length of output: 245
Fix invalid JSON syntax in video.json to enable tooling to parse the file
The file contains JSON that will not parse due to two errors:
- Line 35:
SpeakTest=" "uses=instead of:and the key is unquoted. - Line 37: Trailing comma after the final step before the closing
].
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Facet.Search#download-example-net--c-",
-SpeakTest=" "},
+SpeakTest": " "},
{"typeStep":"waitseconds","arg":"30"},
-]
+]Change SpeakTest=" " to "SpeakTest": " " and remove the trailing comma after the final step.
Committable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 Biome (2.1.2)
[error] 35-36: Property key must be double quoted
(parse)
[error] 36-36: unexpected character =
(parse)
[error] 36-36: expected , but instead found " "
Remove " "
(parse)
[error] 36-36: expected : but instead found }
Remove }
(parse)
[error] 37-38: Expected an array, an object, or a literal but instead found ']'.
Expected an array, an object, or a literal here.
(parse)
🤖 Prompt for AI Agents
In v2/rscg_examples/Facet.Search/video.json around lines 11-38, the JSON is
invalid: change the unquoted assignment SpeakTest=" " to a proper JSON key/value
pair with quotes and a colon ("SpeakTest": " ") and remove the trailing comma
after the final array element so the closing ] is legal; ensure all keys are
quoted and punctuation follows JSON syntax.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md (1)
4-4: Fix typo in description.Line 4 contains a spelling error: "clasess" should be "classes".
🔎 Proposed fix
-description: Generating search from C# clasess and properties +description: Generating search from C# classes and properties
🧹 Nitpick comments (4)
v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md (4)
378-381: Replace hard tabs with spaces in code block.Lines 378–381 contain hard tabs instead of spaces, which can cause display inconsistencies. Replace with spaces for markdown consistency.
🔎 Proposed fix
- <PropertyGroup> - <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles> - <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath> - </PropertyGroup> + <PropertyGroup> + <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles> + <CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GX</CompilerGeneratedFilesOutputPath> + </PropertyGroup>
34-34: Wrap bare URLs in markdown links or inline code.Lines 34, 37, 39, and 719 contain bare URLs. Wrapping them in markdown link syntax or inline code blocks improves consistency with markdown standards.
Examples:
- Wrap
https://example.comas[https://example.com](https://example.com)or`https://example.com`Also applies to: 37-37, 39-39, 719-719
705-705: Remove trailing space in link text.Line 705 contains a trailing space inside the link text:
[Download Example project Facet.Search ]. Remove the space before the closing bracket.🔎 Proposed fix
-[Download Example project Facet.Search ](/sources/Facet.Search.zip) +[Download Example project Facet.Search](/sources/Facet.Search.zip)
305-312: Specify language for code block listing.Line 306 begins a code block listing file paths. Consider specifying a language (e.g., plain text or
text) for consistency with markdown linting standards.🔎 Suggested approach
-``` +```text obj/Debug/net8.0/generated/Facet.Search.Generators/
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md(1 hunks)
🧰 Additional context used
🪛 LanguageTool
v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md
[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...acet.Search/actions/workflows/test.yml) [![NuGet...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~56-~56: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...t.Search/actions/workflows/release.yml) [
[style] ~57-~57: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...://www.nuget.org/packages/Facet.Search) [
[style] ~58-~58: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...://www.nuget.org/packages/Facet.Search) [
[style] ~266-~266: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...et; set; } ### `[FullTextSearch]` Marks a property for full-text search. cs...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~279-~279: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...{ get; set; } ``` ### [Searchable] Marks a property as searchable but not a face...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~334-~334: Consider using a less common alternative to make your writing sound more unique and professional.
Context: ...ontributing Contributions are welcome! Please feel free to submit a Pull Request. ## Related Proj...
(FEEL_FREE_TO_STYLE_ME)
[grammar] ~346-~346: Ensure spelling is correct
Context: ...bout :::note Generating search from C# clasess and properties Integrating search in ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.18.1)
v2/rscg_examples_site/docs/RSCG-Examples/Facet.Search.md
34-34: Bare URL used
(MD034, no-bare-urls)
37-37: Bare URL used
(MD034, no-bare-urls)
39-39: Bare URL used
(MD034, no-bare-urls)
306-306: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
378-378: Hard tabs
Column: 1
(MD010, no-hard-tabs)
379-379: Hard tabs
Column: 1
(MD010, no-hard-tabs)
380-380: Hard tabs
Column: 1
(MD010, no-hard-tabs)
381-381: Hard tabs
Column: 1
(MD010, no-hard-tabs)
506-506: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
519-519: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
598-598: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
625-625: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
705-705: Spaces inside link text
(MD039, no-space-in-links)
719-719: Bare URL used
(MD034, no-bare-urls)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: call-workflow-passing-data / build (24.3.0)
Summary by CodeRabbit
New Features
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.