Warum `DatabaseGenerated(DatabaseGeneratedOption.Identität)` funktioniert nicht in MVC 4
Ich versuchte, mich zu bewegen mein MVC 3-Projekt zu MVC 4, aber wenn ich wollte, um dieses Modell:
public class Link
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid ID { get; set; }
[DisplayName("Shorted URL")]
public string SURL { get; set; }
[DisplayName("General Link")]
public string OriginalURL { get; set; }
[DisplayName("Click Count")]
public int ClickCount { get; set; }
}
public class LinkDBContext : DbContext
{
public DbSet<Link> Links { get; set; }
}
Bekam ich Fehler mit [System.ComponentModel.DataAnnotations.(DatabaseGeneratedOption.Identity)]
Attribut. Ich weiß nicht, was das problem ist. Wer weiß?!?
Update
Diese sind die Fehler:
Den Typ oder namespace-name 'DatabaseGeneratedAttribute' konnte nicht
gefunden (fehlt eine using-Direktive oder ein Assemblyverweis?)Den Typ oder namespace-name 'DatabaseGenerated' konnte nicht gefunden werden (sind
Ihnen fehlt eine using-Direktive oder ein Assemblyverweis?)
Zunächst, dein problem nichts mit MVC (entweder 3 oder 4), wie Ihr code ist der Umgang mit Entity Framework. Zweitens, werden Sie nicht sagen, welche version von EF, die Sie verwenden, und Sie nicht sagen, welchen Fehler Sie erhalten. Da meine psychischen Kräfte sind, nicht arbeiten heute, haben Sie, um zu versuchen, genauer zu sein.
Ich habe gerade eine Internet-Anwendung mit VS2012 und es hat EF sich. Ich weiß nicht, welche version es ist!
Wenn Sie können die tatsächlichen Fehlermeldung in der Frage, dass wäre hilfreich.
Ich würde vorschlagen, zu lernen, ein wenig mehr über die Werkzeuge, die Sie benutzen. FYI, es, EF-5 und C# 5, nicht C#4. All dies finden Sie heraus, indem Sie sich nur auf das NuGet-Pakete installiert.
Frage bearbeitet @MystereMan: ich wusste nicht, dass das die version ist nicht erforderlich!!! und es ist
Ich habe gerade eine Internet-Anwendung mit VS2012 und es hat EF sich. Ich weiß nicht, welche version es ist!
Wenn Sie können die tatsächlichen Fehlermeldung in der Frage, dass wäre hilfreich.
Ich würde vorschlagen, zu lernen, ein wenig mehr über die Werkzeuge, die Sie benutzen. FYI, es, EF-5 und C# 5, nicht C#4. All dies finden Sie heraus, indem Sie sich nur auf das NuGet-Pakete installiert.
Frage bearbeitet @MystereMan: ich wusste nicht, dass das die version ist nicht erforderlich!!! und es ist
.Net Framework 4.5
nicht .Net Framework 5
!!!InformationsquelleAutor ahmadali shafiee | 2012-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
DatabaseGeneratedAttribute
ist in derSystem.ComponentModel.DataAnnotations.Schema
namespace-Attribut in .NET 4.5InformationsquelleAutor Erik Funkenbusch
Wenn Sie möchten, verwenden Sie dieses Attribut in .net 4 können Sie Prerelease-version von Entity Framework 6 (oder auch Nightly Builds) um dies zu tun, in
Manage NuGet Pakages
- Fenster aus dem drop-down am oberen Rand des Fensters, wählen SieInclude Prerelease
.Update auf Nightly Builds, in
Pakage Manager Settings
fügen Sie dieses Paket Quelle:Für eine vollständige Anleitung finden Sie unter EF auf GitHub.
InformationsquelleAutor Mahmoodvcs
Müssen Sie - in einigen Fällen - zum ändern der Rahmen von 4,5 oder weniger, 4.5.1 und installieren Sie dann das Entity Framework 6 + und es wird gefunden werden
InformationsquelleAutor d4c0d312