Perché filePath è nullo? Qualche idea su come ottenere il file filePath relativo?Entity Framework - Come ottenere il percorso del file relativo nel metodo seed
internal sealed class Configuration : DbMigrationsConfiguration<MvcProject.Models.FileDb>
{
public Configuration()
{
// code here is not relevant to question
}
protected override void Seed(MvcProject.Models.FileDb context)
{
string filePath = System.Web.HttpContext.Current.Server.MapPath("~/Content/File.txt");
// read File.txt using filePath and update the database
}
}
Ho il codice di cui sopra in un file nella cartella Configuration.cs migrazioni creata quando Entity Framework è impostato su un progetto ASP .NET MVC
Quando eseguo "Update-Database -Verbose" a pacchetto Console di gestione Ottengo un errore che filePath è nullo.
Se ho impostato manualmente filePath con un URL assoluto del file:
string filePath = "C:/Users/User1/My Documents/Visual Studio 2012/Projects/MvcProject/Content/File.txt";
tutto funziona bene.
Ovviamente l'obiettivo è avere un percorso relativo per consentire il lavoro con diversi sviluppatori su diverse configurazioni.
A dire il vero tutto quello di cui ho bisogno è il file - non necessariamente il percorso. Qualsiasi aiuto sarà apprezzato.
il percorso del file è nullo, o il 'System.Web.HttpContext.Current' e si dispone di un'eccezione? – Aristos
Aristos, so che filePath è null (o System.Web.HttpContext.Current è). Quello che non so è perché, né un modo per ottenere il filePath nel metodo seed –
Se non si conosce il valore null, probabilmente non si è riusciti a risolverlo. Penso che tu lo chiami non da una pagina e 'HttpContext' sia nullo e che il problema qui. Alla fine la tua domanda deve essere accurata e non lasciarci immaginare i problemi reali - ovviamente puoi seguire che solo tu cerchi soluzioni. – Aristos