I have been attempting to generate CRUD pages and consistently receive the same error on add/edit forms for all FK fields:
Found a malformed 'RadzenFormField' tag helper. Tag helpers must have a start and end tag or be self closing.
and Found a malformed 'ChildContent' tag helper. Tag helpers must have a start and end tag or be self closing.
Additionally none of the FKs generated dropdown datagrids as I would expect.
Assuming I did something wrong, I watched the CRUD tutorial and realized I do not have the Relationships options available on the Configure Entity form:
My database has functioning FKs and I have already used the same database to generate an app in Radzen Studio that I am attempting to recreate in Radzen Blazor Studio. I included all FK tables when inferring the schema and have encountered this with every CRUD page I have attempted so far.
Please let me know if I am doing something wrong or if this is a bug. Thanks!
We can’t tell why the relationships are not listed unless we examine your database schema. Please send us your schema as SQL script at info@radzen.com.
I've checked your schema and looks like the relations are retrieved properly and the relevant code is generated for both DbContext and CRUD pages (FK are represented by DropDowns):
I have installed the latest version of RBS today and all of the issues listed above still remain for me. I cannot see entity relations on the configure entity form and all FK fields do not generate correctly on the add and edit razor files. The razor.cs files are correct, but the razor files generate the code I provided earlier and require manual adjustment.
Please let me know if you if you need any more information. I am running RBS 1.49.0.
I am still having this issue. I am using the latest version of RBS and have even installed it on a completely different computer and the issue still persists. I can see the relationships when generating the page, but it still doesn’t correctly generate the form fields. Any ideas on how to fix this? Manually fixing every add and edit form field that has a dropdown datagrid linked to a foreign key certainly makes development more tedious than it should be with a tool like this. I love the tool, but fixing this issue would be extremely helpful.
Yes, I would expect so. This works correctly for my co-worker as well. But for me, ever since I have switched from Legacy Radzen to RBS it has not worked, regardless of RBS version or database schema (every project I have done in RBS). I have tried on Windows 10 and 11. I have even tried on an entirely new PC. I try the exact same steps as my co-worker and get different results. It is as if the error is tied to my account specifically, which I know probably has nothing to do with it.
Even though the relationships are visible on the Configure Entity form, all FK fields on Add and Edit forms generate with the dropdown datagrid and end tags missing and I receive the errors:
Found a malformed 'RadzenFormField' tag helper. Tag helpers must have a start and end tag or be self closing.
and Found a malformed 'ChildContent' tag helper. Tag helpers must have a start and end tag or be self closing.
If you want me to send a video of me doing each step along with providing you whatever code you need I will. I have grown accustom to working around this and building the dropdown datagrids myself (the razor.cs code is still correct), but it would save me a lot of time if it worked.
The schema is inferred correctly. The razor.cs code for the add and edit form is generated correctly. It is simply the razor file that does not inject the dropdown datagrid. I can manually add the dropdown datagrid myself and insert the parameters the razor.cs generated. My co-worker and I connect the database using the exact same sql server login.
They are apps created from scratch, not migrated from Radzen Studio. One of them is using the same data source and SQL Server login as an existing Radzen Studio app that I recreated in RBS from scratch, and I had no issue generating Add/Edit forms with this setup in Radzen Studio. I figured it was an issue with my computer, but I recently got a new computer and started an entirely new RBS project and the issue remained, so I returned to this post.
The form fields for FKs always generate in the razor file as shown in my original post. I need to manually close the and tags and drop in the dropdown datagrid myself. But the razor.cs file has all of the expected code for the dropdown, I just have to apply it to the component.
I can’t think of or find a setting in RBS that would cause this specifically, but the fact it has happened on two different PCs and databases makes me wonder if it has to do with my Radzen account or the way the application was configured on install.
I have probably changed the schema since then. I can generate any schema/project and have this issue though. Would you like me to make a simple example project? It could just be two tables and I will have this problem.
I have tested this some more and the issue only occurs if I am referencing a schema other than dbo. I am also using Entity Framework naming conventions. So RBS correctly generates the razor code for dbo, but fails when it is any other schema exactly as shown in my previous examples.
Also like I said, my SQL login doesn’t seem to be the issue because it correctly generates all the right razor.cs code, I just simply need to manually close the razor form field tag and drop in the dropdowndatagrid and point it to all the correctly generated variables in the razor.cs file.
I have given my SQL login full sysadmin permissions and ownership of all the schemas just to rule that out. Does this information help you troubleshoot this?
Ok, I agree. Here is a simple schema I tested on. I used Windows Credentials for this one on my local PC. Everything in dbo schema generated correctly, and anything in the company schema did not:
/****** Object: Schema [company] Script Date: 5/6/2026 12:17:41 PM ******/
CREATE SCHEMA [company]
GO
/****** Object: Table [company].[Schedule] Script Date: 5/6/2026 12:17:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [company].[Schedule](
[ScheduleKey] [int] IDENTITY(1,1) NOT NULL,
[ScheduleDate] [datetime] NOT NULL,
[WorkShiftKey] [int] NOT NULL,
CONSTRAINT [PK_Schedule] PRIMARY KEY CLUSTERED
(
[ScheduleKey] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [company].[WorkShift] Script Date: 5/6/2026 12:17:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [company].[WorkShift](
[WorkShiftKey] [int] IDENTITY(1,1) NOT NULL,
[WorkShiftName] [varchar](20) NOT NULL,
CONSTRAINT [PK_WorkShift] PRIMARY KEY CLUSTERED
(
[WorkShiftKey] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Department] Script Date: 5/6/2026 12:17:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Department](
[DepartmentKey] [int] IDENTITY(1,1) NOT NULL,
[DepartmentName] [varchar](50) NOT NULL,
CONSTRAINT [PK_Department] PRIMARY KEY CLUSTERED
(
[DepartmentKey] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Employee] Script Date: 5/6/2026 12:17:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Employee](
[EmployeeKey] [int] IDENTITY(1,1) NOT NULL,
[EmployeeName] [varchar](50) NOT NULL,
[DepartmentKey] [int] NOT NULL,
CONSTRAINT [PK_Employee] PRIMARY KEY CLUSTERED
(
[EmployeeKey] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [company].[Schedule] WITH CHECK ADD CONSTRAINT [FK_Schedule_WorkShift] FOREIGN KEY([WorkShiftKey])
REFERENCES [company].[WorkShift] ([WorkShiftKey])
GO
ALTER TABLE [company].[Schedule] CHECK CONSTRAINT [FK_Schedule_WorkShift]
GO
ALTER TABLE [dbo].[Employee] WITH CHECK ADD CONSTRAINT [FK_Employee_Department] FOREIGN KEY([DepartmentKey])
REFERENCES [dbo].[Department] ([DepartmentKey])
GO
ALTER TABLE [dbo].[Employee] CHECK CONSTRAINT [FK_Employee_Department]
GO