Risoluzione dei problemi relativi a ADO.NET Entity Framework e relazioni 1: *

StackOverflow https://stackoverflow.com/questions/807872

  •  03-07-2019
  •  | 
  •  

Domanda

Sto provando a realizzare un semplice compito di creare un database con 2 tabelle con una relazione 1: *.

In una tabella (Foos) ho

Id
...
...

Nell'altro (Bar) ho

Id
FooId
...
...
...

Ho creato una relazione di chiave esterna da Bars a Foos con la tabella delle chiavi Foriegn come barre che punta alla colonna FooId e la tabella della chiave primaria essendo Foos che punta alla colonna Id.

Ho quindi creato il mio modello di dati di entità ADO.NET che ha raccolto correttamente le tabelle Foos and Bars e la relazione e ha creato le proprietà di navigazione.

Ora dall'applicazione MVC cerco di ottenere un Foo come questo:

var foo = (from f in _db.Foos where f.Id == id select f).FirstOrDefault();

Quindi provo ad accedere alla proprietà Bars dell'oggetto foo e non ottengo risultati. Tuttavia, se controllo il set _db.Bars vedo le barre con FooId impostato sull'ID corretto.

Cosa devo fare per risolvere il motivo per cui la relazione non funziona? Ho esaminato molti tutorial e la documentazione in MSDN per le relazioni tra tabelle ma nulla è ovviamente sbagliato.

Sto cercando di usarlo in un'applicazione ASP.NET MVC nel caso sia pertinente.

È stato utile?

Soluzione

usa un'inclusione nella tabella Foos

var foo = (da f in _db.Foos.Include (" Bars ") dove f.Id == id seleziona f) .FirstOrDefault ();

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top