【发布时间】:2015-11-07 09:08:54
【问题描述】:
我是实体框架的新手。只是想知道创建具有多对多关系的相关实体的正确方法是什么。调试时总是出现这个错误:“Object reference not set to an instance of an object”。
以以下为例:
下面是数据模型,一个俱乐部可以有多个会员,一个会员可以加入多个俱乐部
public class Club
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Member> Member { get; set; }
}
public class Member
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Club> Club { get; set; }
}
我尝试创建一个新俱乐部并向其中添加一个新成员(两个对象都不是数据库中的现有数据):
Member member = new Member();
Club club=new Club();
member.Name = "Amy";
club.Name="NBA Fans";
member.Club.Add(club); //Error: Object reference not set to an instance of an object
db.Member.Add(member);
db.SaveChanges();
谁能提供正确的方法来做到这一点?
非常感谢
【问题讨论】:
-
是的,我在网上阅读了很多教程。但是我没有找到关于创建具有多对多关系的相关实体的教程。
-
我不确定实体框架是否支持在一个查询中创建两个具有多对多关系的新实体,或者必须通过以下方式完成:先创建一个俱乐部,然后从db,创建会员,将俱乐部链接到新会员。
标签: asp.net-mvc entity-framework many-to-many