Forum: PC-Programmierung Kurze Hilfe zum MS ASP.NET Razor-Page Tutorial


von Matthias S. (da_user)


Lesenswert?

Hi,

ich will gerade das Tutorial zu den ASP.NET Razor-Pages von MS 
durcharbeiten, habe da aber ein einem Schritt Probleme. IDE ist Visual 
Studio CE 2017.

Die Stelle: 
https://docs.microsoft.com/de-de/aspnet/core/tutorials/razor-pages/model?view=aspnetcore-2.2&tabs=visual-studio#initial-migration

Das in dem IDE-Spezifischen Kasten für den NuGet-Manager funktioniert 
und ist erledigt. Danach geht es weiter mit:

"Mit dem Befehl 'ef migrations add InitialCreate' wird Code generiert, 
um das anfängliche Datenbankschema zu erstellen."

Ich hätte jetzt versucht, den Befehl in die gleiche Konsole einzugeben, 
erhalte aber folgende Fehlermeldung:
1
ef : Die Benennung "ef" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die 
2
Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
3
In Zeile:1 Zeichen:1
4
+ ef migrations add InitialCreate
5
+ ~~
6
    + CategoryInfo          : ObjectNotFound: (ef:String) [], CommandNotFoundException
7
    + FullyQualifiedErrorId : CommandNotFoundException

Dürfte wohl daran liegen, dass ich den Befehl in die 
"Paket-Manager-Konsole" eintippe, und die sich nicht wirklich dafür 
interessiert.
Die Preisfrage, die mir MS leider nicht beantwortet ist jetzt aber: in 
welche Konsole gebe ich diesen Befehl ein, und wie komme ich an diese?

VG
da_user

: Bearbeitet durch User
von Horst (Gast)


Lesenswert?

ASP.NET benutzt man heute nicht mehr. Steig auf zeitgemäße Alternativen 
um.

von Matthias S. (da_user)


Lesenswert?

Horst schrieb:
> ASP.NET benutzt man heute nicht mehr. Steig auf zeitgemäße Alternativen
> um.

Und diese zeitgemäßen Alternativen sind (mal wieder) so zeitgemäß und 
geheim dass du (mal wieder) kein Wort darüber verlieren möchtest.

Du hast mir gegenüber diesen Satz gefühlt schon 93 mal gemacht, mehr kam 
dann aber nie, trotz freundlicher Nachfrage. Keine Begründung warum, und 
vor allem: keine Alternative.

Wenn du diesen Satz mir gegenüber also nochmal bringen willst und es 
ernst meinst: Führe aus, was, wieso und warum. In allen anderen Fällen - 
ganz gradaus gesagt: steck ihn dir sonstwohin.

Dankeschön.

von Horst (Gast)


Lesenswert?

Matthias S. schrieb:
> Und diese zeitgemäßen Alternativen sind (mal wieder) so zeitgemäß und
> geheim dass du (mal wieder) kein Wort darüber verlieren möchtest.

Ich? Nein.

Ich jedenfalls möchte darüber keine weiteren Worte verlieren, weil hier 
sonst wieder ein ewiges Gestreite über die "beste" Alternative los 
bricht. Such dir selbst was vernünftiges und frag dann nochmal.

von Matthias S. (da_user)


Lesenswert?

> Such dir selbst was vernünftiges und frag dann nochmal.

Habe ich gemacht. ASP.NET ist für MICH die Lösung.
Da du augenscheinlich keinen ewiges Gestreite haben willst:

Horst schrieb:
> weil hier
> sonst wieder ein ewiges Gestreite über die "beste" Alternative los
> bricht.

bist du mit mir sicherlich einer Meinung, das wir beide das auch in 
Zukunft nicht mehr weiter diskutieren brauchen.
Danke.

von guest (Gast)


Lesenswert?

Matthias S. schrieb:
> Hi,
>
> ich will gerade das Tutorial zu den ASP.NET Razor-Pages von MS
> durcharbeiten, habe da aber ein einem Schritt Probleme. IDE ist Visual
> Studio CE 2017.
>
> Die Stelle:
> 
https://docs.microsoft.com/de-de/aspnet/core/tutorials/razor-pages/model?view=aspnetcore-2.2&tabs=visual-studio#initial-migration

Der Link ist aber für "ASP.NET Core", nicht für "ASP.NET"! Den 
Unterschied sollte man schon kennen.

Matthias S. schrieb:
> "Mit dem Befehl 'ef migrations add InitialCreate' wird Code generiert,
> um das anfängliche Datenbankschema zu erstellen."
Das ist nur die Erklärung zu dem darüber aufgeführten "Add-Migration 
Initial".
Wenn man sich schon mit dem Zeug beschäftigt, sollte man sich wenigstens 
auch mit den Grundlagen beschäftigen, insbesondere mit den beiden 
Varianten der "Entity Framework Core-Tools":
https://docs.microsoft.com/de-de/ef/core/miscellaneous/cli/dotnet
https://docs.microsoft.com/de-de/ef/core/miscellaneous/cli/powershell

Und hier:
https://docs.microsoft.com/de-de/ef/core/get-started/install/#get-the-entity-framework-core-tools
Vor allem den Teil zu "Two sets of tools are available".

von Matthias S. (da_user)


Lesenswert?

Hi,

ich bin jetzt endlich dazugekommen, da weiterzuarbeiten.

guest schrieb:
> Der Link ist aber für "ASP.NET Core", nicht für "ASP.NET"! Den
> Unterschied sollte man schon kennen.

Ja stimmt. So als Anfänger ist man da manchmal ein bisschen hin und her 
verwirrt. Aber ich arbeite mit Core, genauer Core 2.2 und das ist, 
aufgrund der potentiell besseren Plattformunabhängigkeit, beabsichtigt 
so.
Zur Unterscheidung finde ich übrigens diesen Link besser: 
https://docs.microsoft.com/de-de/aspnet/core/fundamentals/choose-aspnet-framework?view=aspnetcore-2.2

guest schrieb:
> Das ist nur die Erklärung zu dem darüber aufgeführten "Add-Migration
> Initial".

Das habe ich mittlerweile auch gemerkt und mir meinen Teil dazu über 
mich gedacht. Hirnklatsch beschreibt es noch am harmlosesten.

Sei's drum, ich habe jetzt das Tutorial durchgearbeitet und wollte da 
dran jetzt etwas rumspielen und stelle fest, dass dem Tutorial irgendwie 
doch ein paar wichtige Grundlagenpunkte fehlen. Evtl. richtet es sich ja 
an Leute, die vorher schon genügend Erfahrung mit ASP.NET (Core) 
gesammelt haben?

Auf jeden Fall hatte ich folgende Absichten:

Erweiterung der Filme um ein Array-Feld Genres, wobei die Genres separat 
bearbeitet werden können:
=> Weitere Model-Datei "MovieGenres.cs" mit der Klasse "MovieGenre" 
hinzugefügt, passende Pages erstellt (/erstellen lassen) - funktioniert, 
ich kann Genres erzeugen, anzeigen und bearbeiten
=> Das Model "Movie" um ein Feld
1
public MovieGenre[] Genres { get; set; }
 erweitert.
=> Pageset "Movies2" erstellen lassen - darin taucht aber das Feld 
"Genres" nicht auf. Auch hätte ich dann versucht auf der Page "Movies2 - 
Edit" ein Auswahlfeld nach dem Beispiel der Suche hinzufügen:
1
    <div class="form-group">
2
        <select asp-for="Movie.Genres" asp-items="">
3
            <option value="">All</option>
4
        </select>
5
    </div>
Das Problem ist aber hier, dass sich das Model natürlich auf "Movies" 
bezieht, wie bekomme ich hier die "Genres" hinein? Oder mache ich hier 
etwas grundsätzlich falsch?

Oder nochmal anders gefragt: Wo finde ich etwas(!) tiefergehende 
Tutorials od. ähnliches, die aber nicht so tiefgehen, wie die weiteren 
Links auf dem von mir bearbeiteten MS-Tutorial? Eher weiterer 
Anfängerkram? Von mir aus auch ein gutes Buch...

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.