0
我有一个创建的实体框架。我试图向表中添加新歌曲和新专辑。例如,当我尝试添加新歌曲时,我使用了下面的方法,它告诉我s.Artist.ArtistName上的“对象引用未设置为对象的实例”。我有一个网络表单,在下拉菜单中显示艺术家列表,现在我想为该艺术家添加一首新歌。我怎么做?ASP.NET使用导航属性将数据加载到表中
public Song AddNewSongNav(String ArtistName, String SongName)
{
using (var context = new MyEntities())
{
var s = new Song();
s.SongTitle = SongName;
s.Artist.ArtistName = ArtistName;
s.Artist.WikipediaUrl="http://en.wikipedia.org/Testing";
context.Songs.AddObject(s);
context.SaveChanges();
return s;
}
}
艺术家表格的框架有艺术家ID,艺术家名称和WikiPediaURL。它拥有专辑和歌曲的导航属性。它被连接到宋作为1到许多和专辑作为1到许多。
它有一个歌曲表,它有一个SongID,SongTitle和Artist_ArtistID。它具有Artist和Album的导航属性。它作为多对多链接到相册表。
最后,Album表具有AlbumID,AlbumTitle,CoverArt,Year,流派,MimeType和Artist_ArtistID。它具有艺术家和歌曲的导航属性。
感谢您的快速反应。这让我可以一起添加新的艺术家和歌曲。我想要做的是让用户从下拉列表中选择一位艺术家,然后我想将一首歌曲与该艺术家相关联。当我这样做时,它会创建一个新的艺术家并将其与该歌曲相关联。你有什么想法,我会如何引用已经在桌上的艺术家,并将其与新歌关联起来? – Joe24 2012-04-14 22:43:35