Added column to database, now I need to update my view

Here is the screenshot after inferring new field

Here is model after inferring (added new text field "byk")

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace RicocoNg.Models.RicocoDb
{
  [Table("ricoco")]
  public partial class Ricoco
  {
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int id
    {
      get;
      set;
    }
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public string numeroMasterArticoloFinito
    {
      get;
      set;
    }
    public int? idStandardColoreFinito
    {
      get;
      set;
    }

    public StandardColore StandardColore { get; set; }
    public int? idScalaProduzione
    {
      get;
      set;
    }

    public Scala Scala { get; set; }
    public int idReparto
    {
      get;
      set;
    }

    public Reparto Reparto { get; set; }
    public int? additivo1
    {
      get;
      set;
    }

    public Additivi Additivi { get; set; }
    public int? additivo2
    {
      get;
      set;
    }

    public Additivi Additivi1 { get; set; }
    public int? additivo3
    {
      get;
      set;
    }

    public Additivi Additivi2 { get; set; }
    public int? additivo4
    {
      get;
      set;
    }

    public Additivi Additivi3 { get; set; }
    public int? additivo5
    {
      get;
      set;
    }

    public Additivi Additivi4 { get; set; }
    public int idUtente
    {
      get;
      set;
    }

    public Utenti Utenti { get; set; }
    public int idStandardColore
    {
      get;
      set;
    }

    public StandardColore StandardColore1 { get; set; }
    public int idStruttControllo
    {
      get;
      set;
    }

    public Controllo Controllo { get; set; }
    public int idScalaMescole
    {
      get;
      set;
    }

    public Scala Scala1 { get; set; }
    public int idCartaRiferimento
    {
      get;
      set;
    }

    public Cartum Cartum { get; set; }
    public int? pigmento1
    {
      get;
      set;
    }

    public Pigmenti Pigmenti { get; set; }
    public int? pigmento2
    {
      get;
      set;
    }

    public Pigmenti Pigmenti1 { get; set; }
    public int? pigmento3
    {
      get;
      set;
    }

    public Pigmenti Pigmenti2 { get; set; }
    public int? pigmento4
    {
      get;
      set;
    }

    public Pigmenti Pigmenti3 { get; set; }
    public int? pigmento5
    {
      get;
      set;
    }

    public Pigmenti Pigmenti4 { get; set; }
    public int idCartaProduzione
    {
      get;
      set;
    }

    public Cartum Cartum1 { get; set; }
    public string capoProgetto
    {
      get;
      set;
    }
    public string codiceColore
    {
      get;
      set;
    }
    public string codiceMateriale
    {
      get;
      set;
    }
    public DateTime dataImmissione
    {
      get;
      set;
    }
    public decimal? finDl
    {
      get;
      set;
    }
    public decimal? finDa
    {
      get;
      set;
    }
    public decimal? finDb
    {
      get;
      set;
    }
    public decimal? finTollDl
    {
      get;
      set;
    }
    public decimal? finTollDa
    {
      get;
      set;
    }
    public decimal? finTollDb
    {
      get;
      set;
    }
    public string linkExcel
    {
      get;
      set;
    }
    public string masContrMescole
    {
      get;
      set;
    }
    public decimal? mesDL
    {
      get;
      set;
    }
    public decimal? mesDA
    {
      get;
      set;
    }
    public decimal? mesDb
    {
      get;
      set;
    }
    public decimal? mestollDL
    {
      get;
      set;
    }
    public decimal? mestollDa
    {
      get;
      set;
    }
    public decimal? mestollDb
    {
      get;
      set;
    }
    public string nomeColore
    {
      get;
      set;
    }
    public string nomeMasterArticoloFinito
    {
      get;
      set;
    }
    public string nomeProgetto
    {
      get;
      set;
    }
    public string note
    {
      get;
      set;
    }
    public string noteFinito
    {
      get;
      set;
    }
    public string noteMescole
    {
      get;
      set;
    }
    public string noteProduzione
    {
      get;
      set;
    }
    public string numProgetto
    {
      get;
      set;
    }
    public decimal? pesoEsp
    {
      get;
      set;
    }
    public decimal? pesoSkin
    {
      get;
      set;
    }
    public decimal? prodDl
    {
      get;
      set;
    }
    public decimal? prodDa
    {
      get;
      set;
    }
    public decimal? prodDb
    {
      get;
      set;
    }
    public decimal? prodTollDL
    {
      get;
      set;
    }
    public decimal? prodTollDa
    {
      get;
      set;
    }
    public decimal? prodTollDb
    {
      get;
      set;
    }
    public decimal? valAdditivo1
    {
      get;
      set;
    }
    public decimal? valAdditivo2
    {
      get;
      set;
    }
    public decimal? valAdditivo3
    {
      get;
      set;
    }
    public decimal? valAdditivo4
    {
      get;
      set;
    }
    public decimal? valAdditivo5
    {
      get;
      set;
    }
    public decimal? valPigmento1
    {
      get;
      set;
    }
    public decimal? valPigmento2
    {
      get;
      set;
    }
    public decimal? valPigmento3
    {
      get;
      set;
    }
    public decimal? valPigmento4
    {
      get;
      set;
    }
    public decimal? valPigmento5
    {
      get;
      set;
    }
    public string masContrFinito
    {
      get;
      set;
    }
    public decimal? zehMin
    {
      get;
      set;
    }
    public decimal? zehMax
    {
      get;
      set;
    }
    public decimal? mtgMin
    {
      get;
      set;
    }
    public decimal? mtgMax
    {
      get;
      set;
    }
    public string byk
    {
      get;
      set;
    }
  }
}

Where I find the fields configurations?

The problem seems to be that step 6 (Invoke RicocoDB.getRicocoByid) is missing after the infer for some reason. Unfortunately we have not seen such behavior before. If you add the same step it should work and the entity should be populated. To make it easier you can copy the JSON of that action from the meta directory and paste it in the new page's json (where it is missing). You can also use git to revert to the older version of that page metadata so this invoke is not missing.

It is the Fields property of the Form component.

Could you send us your app and database schema before the new field is added? Also let us know what field you have added and to which table. This would hopefully allow us to reproduce the problem.

This is BEFORE inferring new field

form fields

I have done it and now I get a popup:

Cannot find operation with name "getRicocoByid" in the "RicocoDB" data source. In page: "Edit Ricoco", component: page, event: Load

This means you are using a TemplateForm instead of a Form.

Could that method be renamed to GetRicocoById now? Do you see a getRicocoById method in the DropDown of the Invoke data source method action?

I prefer to NOT post all my database schema on this forum. If you want I can give you access to my git repository and I can put on that repository the database schema.
I always committed on github also generated files "just to be on the safe side" and I see that regenerating them cause a problem.

I have now a getRicocoByIdAndNumeroMasterArticoloFinito. It seems the table key has changed. I now will check on db but it seems to me very strange to have a composite key. Consider that, until yesterday, the application was working perfectly on the SAME db.

If your key name or definition is changed this will change also the naming of the methods inferred by Radzen.

Is it possible that old version of radzen ignored composite keys and created a getRicocoById?

I ask because I made this application with Radzen using a db from an old application.
Actually I have looked at my old notes, looked at existing db, and it seems that the primary key was always composite. But Radzen always created me a getRicocoById

It is possible if the data source was inferred with a very old version of Radzen. It is also possible that the second key was added at some point in the past but the data source was not inferred in Radzen.

Anyway to solve the issue you should change the invoke of getRicocoById to getRicocoByIdAndNumeroMasterArticoloFinito and provide a value for the second key parameter. Probably the easiest way would be to edit the JSON file. Otherwise you can add the invoke from Radzen and move it to be action number 6. You still need to provide values for both the id and numeroMasterArticoloFinito parameters. If numeroMasterArticoloFinito does not need to be a key you can update your database accordingly and and infer again.

So I start to understand. The key was composite. I supposed not because it is very stupid to have a composite key with id (autoincrement) and another field. The first time I used Radzen was one of the first versions. I had no need to infer again db because it is not changed. So Radzen created a getRicocoById. I agreed because I was sure that primary key was id only.
Now I remove composite key and I try again.

Now I removed composite key, I inferred, started application.
It compiles and runs it ok:

ng-cli: ** Angular Live Development Server is listening on 0.0.0.0:8000, open your browser on http://localhost:8000/ **

Date: 2021-08-05T12:28:45.115Z
Hash: 14bd6796244bbe07b685
Time: 14837ms
chunk {es2015-polyfills} es2015-polyfills.js, es2015-polyfills.js.map (es2015-polyfills) 358 kB [initial] [rendered]
chunk {main} main.js, main.js.map (main) 885 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 577 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.08 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 1.44 MB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 6.34 MB [initial] [rendered]
ℹ 「wdm」: Compiled successfully.

But now the webpage localhost:8000 is blank and it loads forever. I see no queries in log and I see no calls in javascript debugging/network.
Database works I queried it manually.

I am afraid I am out of ideas and don't know what could have gone wrong. You can compare with git. Alternatively send us your application and database to info@radzen.com. Just be aware that we have attachment size limit - consider using some cloud storage (OneDrive, Google Drive, Dropbox etc) if the application and database exceed 10MB in size after compression.

@mgiammarco

We got your application running. First we restored the dump file and then we applied the second sql file. After that we inferred the data source and checked all columns of the ricoco table.

We ran the application and logged in with the admin account. However the application seems to work fine - the home page is not empty and the Edit page displays an item from the ricoco table:

I have sent the application after the infer to your email address. Just change the connection settings of your database. Does it work as expected? If not - did you send us the latest SQL?

I have just tried your modification but the application still hangs on page loading.
I have tried mysql and mariadb.
I have Radzen 2.61.7. I use Ubuntu 21.04.
I have this warning even if I have downloaded latest dotnet:

dotnet: /usr/share/dotnet/sdk/5.0.203/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.EolTargetFrameworks.targets(28,5): warning NETSDK1138: il framework di destinazione 'netcoreapp2.0' non è più supportato e non riceverà aggiornamenti della sicurezza in futuro. Per altre informazioni sui criteri di supporto, vedere https://aka.ms/dotnet-core-support. [/home/mgiammarco/radzen/RicocoNG/server/project.csproj]

I tried to deploy the application to execute on different pc but I get:

SyntaxError: Unexpected token 
 in JSON at position 187

Radzen log is:

[2021-07-29 14:32:58.640] [info] License check result: true
[2021-07-29 14:32:58.642] [info] Checking for update
[2021-07-29 14:32:59.389] [info] Update for version 2.61.7 is not available (latest version: 2.61.7, downgrade is disallowed).
[2021-07-29 15:43:23.224] [info] Checking license...
[2021-07-29 15:43:24.529] [info] License response {
  success: true,
  uses: 60,
  purchase: {
    seller_id: 'fznL3pDNb9su9UUlG7lAAA==',
    product_id: 'bfpmC4QpgP-5oDaOwwotbw==',
    product_name: 'Radzen Professional Monthly',
    permalink: 'radzen-professional-monthly',
    product_permalink: 'https://radzen.gumroad.com/l/radzen-professional-monthly',
    short_product_id: 'OGCGR',
    email: 'mgiammarco@gmail.com',
    price: 5900,
    gumroad_fee: 236,
    currency: 'usd',
    quantity: 1,
    discover_fee_charged: false,
    can_contact: true,
    referrer: 'https://www.radzen.com//',
    card: {
      bin: null,
      expiry_month: null,
      expiry_year: null,
      type: 'paypal',
      visual: 'mgiammarco@gmail.com'
    },
    order_number: 396489315,
    sale_id: 'SPb0jP5VFQMwr9_y5kGiXg==',
    sale_timestamp: '2019-02-20T16:43:49Z',
    purchaser_id: '9487191993474',
    subscription_id: 'XL5neFQyex4XeOn01oKuLQ==',
    license_key: '7AE44D41-D4D44DD0-90E77A04-4C652FC8',
    ip_country: 'Italy',
    recurrence: 'monthly',
    is_gift_receiver_purchase: false,
    refunded: false,
    disputed: false,
    dispute_won: false,
    id: 'SPb0jP5VFQMwr9_y5kGiXg==',
    created_at: '2019-02-20T16:43:49Z',
    variants: '',
    custom_fields: [],
    subscription_ended_at: null,
    subscription_cancelled_at: null,
    subscription_failed_at: null
  }
}
[2021-07-29 15:43:24.750] [info] License check result: true
[2021-07-29 15:43:24.751] [info] Checking for update
[2021-07-29 15:43:25.879] [info] Update for version 2.61.7 is not available (latest version: 2.61.7, downgrade is disallowed).
[2021-08-02 21:51:24.386] [info] Checking license...
[2021-08-02 21:51:25.816] [info] License response {
  success: true,
  uses: 61,
  purchase: {
    seller_id: 'fznL3pDNb9su9UUlG7lAAA==',
    product_id: 'bfpmC4QpgP-5oDaOwwotbw==',
    product_name: 'Radzen Professional Monthly',
    permalink: 'radzen-professional-monthly',
    product_permalink: 'https://radzen.gumroad.com/l/radzen-professional-monthly',
    short_product_id: 'OGCGR',
    email: 'mgiammarco@gmail.com',
    price: 5900,
    gumroad_fee: 236,
    currency: 'usd',
    quantity: 1,
    discover_fee_charged: false,
    can_contact: true,
    referrer: 'https://www.radzen.com//',
    card: {
      bin: null,
      expiry_month: null,
      expiry_year: null,
      type: 'paypal',
      visual: 'mgiammarco@gmail.com'
    },
    order_number: 396489315,
    sale_id: 'SPb0jP5VFQMwr9_y5kGiXg==',
    sale_timestamp: '2019-02-20T16:43:49Z',
    purchaser_id: '9487191993474',
    subscription_id: 'XL5neFQyex4XeOn01oKuLQ==',
    license_key: '7AE44D41-D4D44DD0-90E77A04-4C652FC8',
    ip_country: 'Italy',
    recurrence: 'monthly',
    is_gift_receiver_purchase: false,
    refunded: false,
    disputed: false,
    dispute_won: false,
    id: 'SPb0jP5VFQMwr9_y5kGiXg==',
    created_at: '2019-02-20T16:43:49Z',
    variants: '',
    custom_fields: [],
    subscription_ended_at: null,
    subscription_cancelled_at: null,
    subscription_failed_at: null
  }
}
[2021-08-02 21:51:26.319] [info] License check result: true
[2021-08-02 21:51:26.321] [info] Checking for update
[2021-08-02 21:51:27.419] [info] Update for version 2.61.7 is not available (latest version: 2.61.7, downgrade is disallowed).
[2021-08-05 20:16:25.948] [error] SyntaxError: Unexpected token 
 in JSON at position 187
    at JSON.parse (<anonymous>)
    at /tmp/.mount_RadzenplABNS/resources/node_modules/@radzen/angular-generator/dist/index.js:207:70

There is probably an exception - check Radzen's Output window when you run the application. I just tested the application and it works without a problem. You can also try browsing in a different browser / incognito mode to avoid any caching issues.