-1
votes

Comment convertir un objet de classe modèle en matière de données

Je suis nouveau à C #, je souhaite convertir un objet de classe modèle en API Web dans l'API Web.

Classe de modèle P>

 public async Task<IActionResult> CreateEmployee([FromBody] Employee_Master_Model employee_Master_Model)
        {
            try
            {
              // Need to convert the object (employee_Master_Model) to DataTable
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }


3 Réponses :


1
votes

Pourquoi ne pouvez-vous pas simplement créer un jeu de données et le remplir avec la valeur de données de modèle comme xxx


2 commentaires

@Prasadtelkikar peut être possible mais ce n'est pas réaliste car avoir 100 colonnes dans une seule table est contre la normalisation de la même manière, un type ayant 100 membres de données n'est pas aussi réaliste


@Prasadtelkikar OUI et il n'y a pas besoin car il ne peut y avoir d'aucun ou non



5
votes

Par le code suivant, vous pouvez créer de manière dynamique les colonnes de données:

PropertyDescriptorCollection props = 
    TypeDescriptor.GetProperties(typeof(Employee_Master_Model));
DataTable dt = new DataTable();
foreach (PropertyDescriptor p in props)
    dt.Columns.Add(p.Name, p.PropertyType);


0 commentaires

-1
votes

Vous avez un certain nombre de problèmes dans votre code.

Premièrement, EmployéID n'a aucune entreprise faisant partie de votre modèle de création. Laissez la base de données générer l'identifiant pour vous. Je soupçonne que vous utilisez Employee_master_model pour créer et mettre à jour. Si tel est le cas, je vous suggère de vous arrêter de le faire, créez un modèle séparé pour créer et supprimer les propriétés dont vous n'avez pas besoin.

Deuxièmement, ne retournez pas de type de votre API. Une approche commune consiste à renvoyer l'identifiant généré de l'entité créée et rien de plus. Si vous avez vraiment besoin d'obtenir toutes les données, vous pouvez créer un point de terminaison GET, transmettez-le l'ID que vous venez de recevoir et cela vous donnera les données.

Troisième, puisque vous utilisez WebAPI, apprenez à utiliser des modèles et apprenez à utiliser les DTOS (objets de transfert de données). Ceux-ci sont couramment utilisés pour le retour des données. Les datables font partie intégrante PF une implémentation de la base de données, vous ne voulez pas que l'API est exposée via l'API.


0 commentaires