2012-01-30 17 views
0

私は以下のモデルを持っています。MVC3編集モデル

public class Person 
{ 
    public Guid ID { get; set; } 

    [Required] 
    [DataType(DataType.Text)] 
    [Display(Name = "Prénom")] 
    public string FirstName { get; set; } 

    [Required] 
    [DataType(DataType.Text)] 
    [Display(Name = "Nom")] 
    public string LastName { get; set; } 

    [Required] 
    [DataType("Users")] 
    [Display(Name = "Adresse")] 
    public Address Address { get; set; } 

あなたが見ることができるように、それはアドレスタイプのpublicフィールドが含まれています

public class Address 
{ 
    public Guid ID { get; set; } 

    [Required] 
    [DataType(DataType.Text)] 
    [Display(Name = "Rue")] 
    public string Street { get; set; } 

    [Required] 
    [DataType(DataType.Text)] 
    [Display(Name = "Ville")] 
    public string City { get; set; } 

    [Required] 
    [DataType(DataType.Text)] 
    [Display(Name = "Province")] 
    public string Province { get; set; } 

私は新しいインスタンスを作成する問題はありません。人とアドレスの両方がデータベースに掲載されている

[HttpPost] 
    public ActionResult Create(Person model) 
    { 
     if (ModelState.IsValid) 
     { 
      db.Persons.Add(model); 
      db.SaveChanges(); 
私は、次のコマンドを使用してDBから人を取得する際に、アドレスは常にNULLである理由を理解したいと思います

。あなたが熱心な負荷にアドレスプロパティを必要とする

return db.Persons.FirstOrDefault(); 

おかげ

答えて

4

。あなたは仮想

[Required] 
[DataType("Users")] 
[Display(Name = "Adresse")] 
public virtual Address Address { get; set; } 
+0

おかげでたくさんのErangaとしてAddressプロパティをマークする必要が遅延ロードの動作が必要な場合は

return db.Persons.Include("Address").FirstOrDefault(); 

することは、今日はこれを試してみます。 – Baral

関連する問題