7 Stimmen

ASP.NET MVC - Alternativen zu Datenbanken

Ich habe darüber nachgedacht, diese Frage aufzuteilen, aber ich denke, es ist besser, sie als eine große Frage zu stellen. Hier kommt sie :-)

Achtung: Diese Frage geht in die Tiefe :-)

Ich arbeite nun schon seit einiger Zeit mit ASP.NET. Erst vor ein paar Tagen, nachdem ich mir einen Kurs über MVC bei Pluralsight beschloss ich, es auszuprobieren. Die Entwicklung war erstaunlich und sehr einfach, insbesondere mit dem Entity Framework 4.1. Als ich nach Einsatzmöglichkeiten suchte, fand ich AppHarbor . Leider bin ich auf einige Probleme gestoßen. Ich kann meine Datenbanken nicht einfach auf magische Weise mit dem Git-Commit portieren, den AppHarbor benötigt. Das Problem ist, dass ich nie wirklich mit Datenbanken gearbeitet habe - sie haben immer nur funktioniert automagisch . Ich habe eine Heidenangst vor Verbindungsstrings und dergleichen. Ich habe es geschafft, eine Datenbank auf AppHarbor für die ASP.NET-Mitgliedschaft Zeug (ich muss noch herausfinden, wie man über die Daten und Schemata zu kopieren, aber ich werde herausfinden, dass :-)), aber ich bin ratlos, was zu tun ist über die Entity Framework SQL Server Compact-Datenbank, die ich verwende, um Blog-Posts und Kommentare zu speichern. Probleme:

  1. Es funktioniert nicht - MVC/EntityFramwork/Whatever-Is-Automagically-Working-Behind-The-Scenes ist nicht feuern eine neue Datenbank oder was auch immer
  2. AppHarbor erlaubt nur 1 Datenbank (in der kostenlosen Version)

Mögliche Lösungen?

  1. Kombinieren Sie die Datenbanken. Ich habe keine Ahnung, wie dies zu tun oder wie ich halten würde die EntityFramework's Auto-Magic arbeiten.
  2. Wählen Sie eine datenbankunabhängige Lösung für die Beiträge/Kommentare. Mir ist klar, dass Datenbanken unglaublich effizienter sind, da es eine Art Schnittstelle zwischen der buchstäblichen Datei und den Programmen gibt, die darauf zugreifen, so dass man keine Dateisperren und dergleichen hat. Was wäre also die beste Alternative?

Meine Frage

Wie kann man mit dieser Situation am besten umgehen? Nicht nur mit dieser speziellen Situation, sondern mit der allgemeinen Situation der "Scheiß-ich-hasse-Datenbanken"?

Wege zur Antwort:

  1. Die Empfehlung, dass ich etwas über Datenbanken lernen soll: gut, aber bitte geben Sie einige gute Quellen an.
  2. Eine datenbankunabhängige Alternative zu bieten: großartig.
  3. Ich erkläre, was ich tun muss, damit das alles auf AppHarbor (aber allgemeiner auf jedem Deployment-Server) funktioniert: ideal. Ich könnte sogar ein Kopfgeld einrichten, nur um es zu vergeben

Vielen Dank im Voraus; mir ist klar, dass dies eine tiefgreifende Frage ist und dass die erhaltenen Antworten es vielleicht nicht wert sind. Bitte lassen Sie mich wissen, wenn ich mehr Informationen zur Verfügung stellen müssen.

1 Stimmen

An den Kurzentschlossenen: Wenn Sie einen Kommentar abgeben könnten, der erklärt, was an meiner Frage falsch ist, wäre das großartig. Ich möchte gerne wissen, was ich falsch mache :-)

0 Stimmen

Liest sich wie ein Blogbeitrag und nicht wie eine echte Frage.

0 Stimmen

@George ich habe nur versucht, einen vernünftigen Kontext für mein Problem zu liefern. Ich dachte, ich hätte die eigentliche Frage ziemlich gut isoliert, und ich sehe nicht, wie das nicht den FAQ entspricht... aber wenn du irgendwelche Verbesserungsvorschläge hast, wäre das toll :)

4voto

Andrew Cowenhoven Punkte 2780

Ich gehe gegen den Strich und schlage vor, dass Sie nicht EF verwenden und eine ganze Reihe von Gerüst-Code mit MVC3 generieren. Vereinfachen Sie Ihre App und wirklich lernen, was los ist. Auf diese Weise werden Sie in der Lage sein, zu debuggen und Funktionen hinzuzufügen.

Versuchen Sie, Ihre bestehende Datenbank zu nehmen und eine MVC3-Anwendung mit Massiv . Sie werden Ihre Datenbankphobie überwinden, wenn Sie sehen, wie einfach es ist.

0 Stimmen

+1 für den Blick über den Tellerrand. Während ich wahrscheinlich nicht am Ende tun dies (meist nur, weil ich faul bin) Ich kann es zurück zu kommen und ich schätze Sie versuchen, meine Datenbank-Paranoia zu entfernen. :-)

2voto

ataddeini Punkte 4901

Sie können auch eine Dokumentendatenbank wie Rabe DB .

0 Stimmen

Danke, das sieht interessant aus. Ich schaue es mir an.

0 Stimmen

@Thomas Shields: Ja, ich gehöre auch zur Kategorie "Scheiß-ich-hasse-Datenbanken", und Raven ist das, womit ich mich lieber beschäftige. Oren Eini hat kürzlich eine Blog-Engine namens RacoonBlog wenn Sie wissen wollen, wie er es verwendet.

0 Stimmen

Die Warnung bei Dokumentendatenbanken ist, dass Sie mit einem Git-Push die in appharbor hochgeladenen Daten löschen können, wenn Sie nicht vorher einen Pull durchgeführt haben

0voto

MarkKGreenway Punkte 7984

Ich schlage vor, einige Objekte mit Entity Framework 4.1 zu erstellen (zunächst als Code)

der Gu (Scott Guthrie) hat einige einfache Anleitungen, die Ihnen den Einstieg erleichtern ... und anstelle von SQLCE4 können Sie auf die Adresse des Appharbor SQL-Servers verweisen

http://weblogs.asp.net/scottgu/archive/2011/03/19/rc-of-entity-framework-4-1-which-includes-ef-code-first.aspx (beste Quelle und Links zu den anderen) Es sollte nicht länger als eine halbe Stunde dauern, bis Sie echte Daten in eine Datenbank übertragen haben...

0 Stimmen

Der Vorteil von Code ist, dass Sie sich zuerst um Ihre Objekte kümmern, und die DB funktioniert einfach hinter den Kulissen, sobald Sie den relativ einfachen Schritt getan haben, zu sagen, mit welcher DB Sie sich verbinden wollen

0 Stimmen

Danke, aber das ist es, was ich bereits tue. Dies ist nicht ganz meine Frage beantworten (wenn Sie bemerken, ich legte drei Möglichkeiten, die man beantworten könnte) ... Ich mag die Idee, nur direkt an die AppHarbor-Datenbank zu verbinden, und ich werde überprüfen, dass Link und zurück zu Ihnen kommen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X