簡體   English   中英

模型的Asp.net列表屬性丟失

[英]Asp.net list property of model gets lost

在asp.net Web API中,我得到了一個具有列表作為屬性的模型。

public class MyModel {
        [Key, Required]
        public string Title { get; set; }
        public List<string> MyList { get; set; }
}

成功運行種子方法之后,當我在服務器資源管理器中檢查表的數據時,只有此屬性Title ,但不會顯示MyList

當我輸入/api/MyModel/potato在地址欄中,並看看在我的控制器調試窗口,Visual Studio中告訴用戶MyList馬鈴薯對象的屬性將是空的,但它實際上不是。

如何訪問我的清單?

更新 :這是種子方法

protected override void Seed(MyProject.Models.MyProjectContext context)
{
    context.MyModels.AddOrUpdate(
        m => m.Title,
        new MyModel {
            Title = "potato",
            MyList = new List<string>() {
                "Foo",
                "Bar"
            }
        }
    );
}

您應該創建2個模型來創建SQL Server可以實際創建的關系。 並且主鍵不應是可編輯的。 如果更改標題,則更改PK,這絕不是一個好的設計。

public class MyModel
{
  [Key]
  public int Id {get; set; }
  [Required]
  public string Title { get; set; }
  //set the relationship to MyList-class
  public virtual ICollection<MyList> MyList {get; set;}
}

public class MyList
{
  [Key]
  public int Id {get; set; }
  [Required]
  public string Name {get; set; }
}

有了這個,你保證,每一個MyClass對象0,1..n MyList對象。

使用此模型,您可以通過以下方式在“操作”中調用它:

var result = context.MyClass.Include(o => o.Mylist);
//alternative
var result = context.MyClass.Include("MyList");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM