問:當我嘗試返回從_Db
數據,我得到空對象List
屬性和我不知道爲什麼被正確返回他人財物,而List
是不是?的DbContext返回一些空字段
問題的說明:我有ApplicationDbContext
類,它具有 public IDbSet<Player> Players { get; set; }
財產。用下面的ApplicationDbInitializer
類:
public class ApplicationDbInitializer : DropCreateDatabaseAlways<ApplicationDbContext>
{
protected override void Seed(ApplicationDbContext context)
{
context.Players.Add(new Player { PlayerName = "john", PlayerSkills = new List<string> { "a", "b" } });
context.Players.Add(new Player { PlayerName = "Wuli", PlayerSkills = new List<string> { "c", "d" } });
base.Seed(context);
}
}
我Player
類看起來是這樣的:
public class Player
{
[Key]
public int Id { get; set; }
public string PlayerName { get; set; }
public List<string> PlayerSkills { get; set; }
}
我對數據的要求是這樣的:
public IEnumerable<Player> Get()
{
return _Db.Players;
}
它返回Id
和PlayerName
絕對正確,但對於null
名單PlayerSkills
。
_Db
在同一Controller
類被初始化爲Get()
通過以下方式:
ApplicationDbContext _Db = new ApplicationDbContext();
但從SQL來看,應該'PlayerSkills'具有存儲收集的字符串是什麼類型的字段? –
好吧,只是踢布什..它是代碼第一,模型第一,數據庫第一?如果它是數據庫第一[謝爾蓋Berenzovskiy答案會做(http://stackoverflow.com/a/42026587/4648586) - 也許。還有,可能影響事物的一點點......是它的實體核心嗎?或實體框架6?啊!看着你的'公開名單 PlayerSkills'我不知道你所理解的[一對多的關係(HTTP://計算器。com/questions/41217027/database-one-to-one-vs-one-to-many).. –
@BagusTesa它的代碼第一和實體框架6.是的,這可能是我錯過了一些概念 - 第一次工作用db。 – pushandpop