![](/img/trans.png)
[英]Using MVC 3 Entity Framework Code-First, how do you create a new “many” object in a one-to-many relationship?
[英]How do I create and insert one-to-many object with entity framework c#
我正在嘗試創建一個對象並將其插入數據庫,但是無論我嘗試如何,都會不斷遇到相同的錯誤。 我收到錯誤的行是ColumnGroupTest.ValidValues.Add(memberComment1); 錯誤是
錯誤信息
用戶代碼未處理NullReferenceException
我的模特
public class StoreColumnName
{
public int Id { get; set; }
public string StoreColumnGroupName { get; set; }
public string ColumnName { get; set; }
public string ColumnType { get; set; }
public List<StoreValidValue> ValidValues { get; set; }
}
public class StoreValidValue
{
public int Id { get; set; }
public string ValidValue { get; set; }
public StoreColumnName StoreColumnName { get; set; }
}
我的控制器
public ActionResult Index()
{
XDocument document = XDocument.Load(@"C:\Users\Physical.xml");
var result = document.Descendants("ColumnGroup");
foreach(var item in result){
var ColumnGroupName = item.Attribute("name").Value;
var Columns = item.Descendants("Column");
foreach (var itemColumn in Columns)
{
StoreColumnName ColumnGroup = new StoreColumnName();
var ColumnGroupTest = new StoreColumnName
{
StoreColumnGroupName = ColumnGroupName,
ColumnName = itemColumn.Attribute("name").Value,
ColumnType = itemColumn.Attribute("type").Value,
Id = 11
};
var ValidValues = itemColumn.Descendants("ValidValues");
var Values = ValidValues.Descendants("Value");
foreach (var Value in Values)
{
var memberComment1 = new StoreValidValue
{
StoreColumnName = ColumnGroupTest,
ValidValue = Value.Value,
Id = 101
};
ColumnGroupTest.ValidValues.Add(memberComment1);
}
}
}
return View();
}
(我很樂意就在尋求幫助/指導時可以改善的地方給出提示)。
有人可以幫忙嗎?
您遇到的問題是您沒有將ValidValues
屬性初始化為列表。 默認情況下,除非您另外指定,否則這些類型的屬性將初始化為null
。
最好的方法是將該初始化添加到該對象的構造函數中。
public StoreColumnName() {
this.ValidValues = new List<StoreValidValue>();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.