Ho bisogno di aggiungere un campo nel modello che Database non ha effettivamente il campo.Entity Framework 4 (utilizzando EDMX), come aggiungere un campo per modellare che DB non ha effettivamente il campo
Perché, in primo luogo, ho provato ad aggiungere il campo solo alla classe Entity.
public partial class Weborder
{
(Auto Generated)
public int orderno {get; set;}
.
.
.
(Add Manually)
public string newField1 {get; set;} //this is new field that DB does not have
public string newField2 {get; set;} //this is new field that DB does not have
}
e più tardi, quando ho aggiornare EDXM poi EDMX rimuovere i nuovi campi perché il database non ha il campo. . :(
Così ho aggiungere il campo in EDMX modello manualmente (Add -> Proprietà scalare)
poi un errore si verifica durante la compilazione, il messaggio di errore dire:
Error 1 Error 3004: Problem in mapping fragments starting at line 399:No mapping specified for properties ...
An Entity with Key (PK) will not round-trip when:...
Qualcuno sa come aggiungere nuovi campi nella classe di entità
Grazie
curato per:?! Se il modello i s una rappresentazione del tuo database e nel database non hai il campo, perché vuoi aggiungerlo manualmente?
=>
Quando recuperare i dati, il tipo di ritorno di oggetto è la classe entità.
e prima di passare i dati dal controller per visualizzare, ho bisogno di aggiungere più dati (campi) nel risultato IQueryable.
ex)
public DbSet<WEBORDERLN> WEBORDERLNs { get; set; }
//repository
public IQueryable<WEBORDERLN> WebOrderLns
{
get { return context.WEBORDERLNs; }
}
e ora ottenere i dati weborderln controller. e prima di passare la vista, devo
aggiungere dati supplementari nel risultato.
var data = webOrderLnRepository.WebOrderLns.Where(e => e.PICKNO == OrderNo).ToList();
foreach (WEBORDERLN weborderln in data)
{
weborderln.[NEW FIELD] = "EXTRA DATA"; //// FOR THIS, I NEED TO ADD NEW FILED INTO ENTITY CLASS
}
//return data
spero che potrebbe spiegare la questione :)
Grazie ancora.
Se il modello è una rappresentazione del database e nel database non si dispone del campo, perché si desidera aggiungerlo manualmente? – Dante
@Dante, grazie per la vostra preoccupazione. Ho modificato di nuovo la mia domanda, per favore rivedi la mia domanda. E se hai qualche idea, ti prego di consigliarmi. –
In pratica stai descrivendo lo scenario per l'utilizzo di ViewModels, ovvero. modelli mappati dai modelli di dati e derivati dalla vista allo scopo di passare dati (e possibilmente dalla) vista. Ora mi sono sempre chiesto quanto sarebbe stato facile creare ViewModels in Entity Framework (perché potrei voler usare e interrogare OData Services, ecc.) Ma non so che siano realmente lì. – JayC