2012-07-02 4 views
10

では動作しませんなぜ私はMVC 4に私のMVC 3プロジェクトを移動しようとしていたが、私はこのモデルを移動したいとき:`DatabaseGenerated(DatabaseGeneratedOption.Identityが)` MVC 4

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; } 
} 

私はエラーを得ました[System.ComponentModel.DataAnnotations.(DatabaseGeneratedOption.Identity)]属性です。私は何が問題なのか分からない。誰か知っていますか?!?

更新

これらはエラーです:

型または名前空間名 'DatabaseGeneratedAttributeは' (?あなたがusingディレクティブまたはアセンブリ参照が不足している)

見つかりませんでした

型または名前空間の名前 'DatabaseGenerated'が見つかりませんでした( には、usingディレクティブまたはアセンブリ参照がありません)

+5

ファーストを見つけることでしょう、あなたの問題はMVCとは無関係です(いずれか3か - いくつかのケースで4)、あなたのコードはEntity Frameworkを扱っています。第二に、使用しているEFのバージョンがわからないし、受け取ったエラーが何であるかも言わない。私の精神力は今日働いていないので、より具体的にする必要があります。 –

+0

@MystereMan VS2012を使用してインターネットアプリケーションを作成したばかりで、EF自体があります。私はバージョンが何であるか分からない! –

+1

参考になる質問に実際のエラーメッセージを含めることができます。 – Satish

答えて

24

DatabaseGeneratedAttributeは、.NET 4に、この属性を使用する場合は、これを行うにはEntityFramework 6(あるいはナイトリービルド)のプレリリースバージョンを使用することができます.NET 4.5

+0

FWI:プロジェクトでSystem.ComponentModel.DataAnnotationsが参照されている必要があります – cpoDesign

+0

ありがとうございました – sibonile

2

System.ComponentModel.DataAnnotations.Schema namespace属性であり、 Manage NuGet Pakagesウィンドウでは、ウィンドウ上部のドロップダウンからInclude Prereleaseを選択します。ナイトリービルドに

Pakage Manager Settingsで、このパッケージのソースを追加、更新するには:

http://www.myget.org/F/aspnetwebstacknightly/ 

完全なガイドについては、EF on GitHubを参照してください。

1

あなたが必要とする - 4.5.1に4.5以下の枠組みを変更し、Entity Frameworkの6 +をインストールすると、それは

+0

ありがとう!私のプロジェクトでは既にEFのバージョンがあったので、EF6をインストールする必要はありませんでしたが、これは私にとってはうまくいったのです。 – mkimmet