6 messaggi dal 09 gennaio 2013
Con Asp.net Core 2 ho creato, tramite Code-First, il mio Model:

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace WebParentChild.Models
{
public class MyContext : DbContext
{
public virtual DbSet<Order> Order { get; set; }
public virtual DbSet<Customer> Customer { get; set; }

public MyContext(DbContextOptions<MyContext> options)
: base(options)
{ }
}

public class Customer
{
[Key]
public int CustomerId { get; set; }
public string Name { get; set; }

public ICollection<Order> Order { get; set; }
}

public class Order
{
[Key]
public int OrderId { get; set; }
public string OrderNo { get; set; }
[DataType(DataType.Date)]
public DateTime OrderDate { get; set; }

[ForeignKey("Customer")]
public int CustomerId { get; set; }
public Customer Customer { get; set; }
}
}
Dopo aver effettuato la Migrazione (Add-Migration InitialCreate) e fatto l'Update del Database (Update-Database) ho eseguito lo Scaffolding creando in maniera del tutto automatizzata il Controller e le View. Senza molto sforzo l'applicazione è funzionante. Con molto piacere noto che lo scaffolding, nella View "Create" ha correttamente creato una DropDownList funzionante, grazie a quanto indicato tramite annotazione nel mio modello.
Fin qui tutto perfetto.

Adesso vorrei aggiungere i Dettagli. (Ho realizzato la parte ""Master" adesso tocca alla parte "Details")

Quindi modifico il mio modello come segue, aggiungendo la classe OrderDetail e relativo Update del Database:

namespace WebParentChild.Models
{
public class MyContext : DbContext
{
public virtual DbSet<Order> Order { get; set; }
public virtual DbSet<Customer> Customer { get; set; }
public virtual DbSet<OrderDetail> OrderDetail { get; set; }

public MyContext(DbContextOptions<MyContext> options)
: base(options)
{ }
}

public class Customer
{
[Key]
public int CustomerId { get; set; }
public string Name { get; set; }

public ICollection<Order> Order { get; set; }
}

public class Order
{
[Key]
public int OrderId { get; set; }
public string OrderNo { get; set; }
[DataType(DataType.Date)]
public DateTime OrderDate { get; set; }

[ForeignKey("Customer")]
public int CustomerId { get; set; }
public Customer Customer { get; set; }

public ICollection<OrderDetail> OrderDetail { get; set; }
}

public class OrderDetail
{
[Key]
public int OrderDetailId { get; set; }
public string ProductName { get; set; }
public string ProductColor { get; set; }
public string ProductQuantity { get; set; }

[ForeignKey("Order")]
public int OrderId { get; set; }
public Order Order { get; set; }
}
}
Adesso nascono i problemi. Non so come procedere ovvero quale strategia utilizzare per poter visualizzare, creare e modificare correttamente l'Ordine e la lista dei dettagli.
Le strade che sto studiando sono: creare un ViewModel unendo le classi Order e OrderDetail, oppure aggiungere alla View del codice JQuery che mi crei una tabella dei dettagli e scrivere il codice per le operazioni CRUD, oppure sempre per i dettagli usare un plugin jqGrid o, ancora, studiare un framework MVVM tipo Knockout....

Cosa mi suggerite?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.