Je suis en train EF CTP5 POCO et conversion de EF4 EntityModel au code POCO approche seulement.CTP5 POCO code seul, comment ajouter des enregistrements maître-détail à DB
internal class InvoiceContext : DbContext
{
public DbSet<Invoice> Invoices {get; set;}
public DbSet<InvoiceLine> InvoiceLines {get; set;}
}
public class Invoice
{
public Guid InvoiceId { get; set; }
public virtual ICollection<InvoiceLine> Lines { get; set; }
}
public class InvoiceLine
{
public Guid InvoiceLineId { get; set; }
public Guid InvoiceId { get; set; }
public virtual Invoice Header { get; set; }
}
ainsi convertir mon ancien code de modèle EF4 Poco, je suis censé ajouter une nouvelle facture et les lignes. J'avais l'habitude de créer la classe maître et ajouter les détails à l'instance de la classe principale elle-même.
var inv = new Invoice();
inv.InvoiceId = Guid.NewGuid();
var db = new InvoiceContext();
db.Invoices.Add(inv);
var invLine = new InvoiceLine();
invLine = InvoiceLineId = Guid.NewGuid();
inv.Lines.Add(invLine);
inv.Lines < == est nulle à ce moment, donc je ne peux pas ajouter une ligne à l'instance de la facture elle-même suis-je censé créer une collection de InvoiceLines et le mettre, ou est-il un peu autre moyen de le faire.
Donc en bref, comment je peux ajouter des lignes maître/détail à ma base de données en utilisant le code POCO seulement (CTP5).
Je vois que je peux le faire, mais ce que sur la façon dont je suis en train de l'utiliser, est-il pas possible? Est-ce la façon de gérer ce genre de scénarios avec l'approche CTP5 et POCO Code seulement. – hazimdikenli
Je vais essayer de passer la liste et voir si cela fonctionne, merci pour votre aide. – hazimdikenli
Allright, la création de la liste et l'ajout d'éléments enregistre les enregistrements enfants à db. – hazimdikenli