[英]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.