2016-12-01 9 views
2

OnModelCreating機能を使用する理由は何ですか?なぜOnModelCreating(MVC 5 EFコード)を使用する必要がありますか?

私は

[Key] 
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
public Int Id { get; set; } 

public Int LanguageId { get; set; } 
[ForeignKey("LanguageId")] 

public Language Language { get; set; } 

ような何かを行うことができるときたぶん私は間違っているが、私はこれについて読み取ったときに、それは多対多の関係のためだとして、それが説明されています。 このようなことをしないでください。エンティティ間の関係を作るための

ICollection<User> Users 

答えて

4

、我々は二つの選択肢

  1. (使用している)DataAnnotation
  2. 流暢APIを持っています。

流動性のあるAPIを使用している場合は、このOnModelCreating(DbModelbuilder modelbuilder)メソッドで関係を指定する必要があります。モデルが初めて作成されたときは、エンティティ間の関係を維持する必要があります。この方法を使用するため

一般的な例は、同じデータアノテーション属性を使用して達成することができ、このコードsnnipet以下

modelBuilder.Entity<Department>().Property(t => t.Name).HasMaxLength(50); 

に与えられています。

[MaxLength(50)] 
public string Name {get;set;} 

DataAnotationを使用したくない場合は、目的に合ったFluent APIを使用してください。

+0

Rajputありがとう、今私は理解した。 – liran

関連する問題