使用代码优先/MVC 4/EF 5
我有一个地方对象:
public class Place
{
public virtual int PlaceID { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
public virtual DateTime DateAdded { get; set; }
public virtual string Name { get; set; }
public virtual string URL { get; set; }
}
和一个 Tag 对象 - 它们之间具有多对多关系
public class Tag
{
public virtual int TagID { get; set; }
public virtual string Name { get; set; }
public virtual string NamePlural { get; set; }
public virtual ICollection<Place> Places { get; set; }
}
我已经在数据库中有一些标签——例如“Pub”、“Bakery”。当我尝试将标签分配给一个地方时 - 它总是说“对象引用未设置为对象的实例”。例如,标签“Bakery”和“Pub”已经在数据库中——然后我运行这个:
Place myPlace = new Place
{
PlaceID = 1,
Name = "Shoreditch Grind",
URL = "shoreditch-grind-cafe",
};
Tag myTag = db.Tags.Single(t => t.Name == "Bar");
myPlace.Tags.Add(myTag);
我想将现有标签“Bar”分配给我正在创建的这个新地方 - 但它总是出错,“对象引用未设置为对象的实例。”。
我确定我在这里做了一些非常愚蠢的事情,但无法弄清楚它是什么(我是 MVC 的新手)。谢谢。