Что ты имеешь в виду?Сохранить ваши данные?Ваши данные обычно сохраняются в базе данных, которую вы выбрали в свойстве connectionString.Инициализатор позаботится о создании базы данных, заполнении и т. Д.
Выбор песни с его исполнителем
Вы можете получить исполнителя, включив его в запрос.Например:
yourContext.Songs.Include("Artist").toList()'
Это вернет все песни, и исполнитель будет заполнен для каждой песни.
Выбор песни с его исполнителем
Таким же образом вы вводите Исполнителя для песни.
yourContext.Artists.Include("ListPropertyName").toList()
Вот ссылка, которая может вам помочь:
http://msdn.microsoft.com/en-us/library/bb896272.aspx
Сохранение песни вместе со своим исполнителем.
Я собираюсь показать, как я работаю, Ваши отношения должны быть примерно такими:
public class Artist
{
[Key]
public Guid ID { get; set; }
//..OtherProperties ...
public virtual ICollection<Songs> Songs { get; set; }
}
public class Song
{
[Key]
public Guid ID { get; set; }
//..OtherProperties ...
//Foreign Key Stuff
[ForeignKey("Artist")]
public Guid ArtistId { get; set; }
//Relationship
public virtual Artist Artist { get; set; }
}
Если вы работаететаким образом, вы можете просто ввести ArtistId вручную в песню.Таким образом, вам нужно будет сделать следующее:
var Artists= new List<Artist>()
{
new Artist{ Name = "ArtistName", Birthday=DateTime.Parse("4-4-1988"), ID = Guid.NewGuid()}
};
Authors.ForEach(s => context.Authors.Add(s));
var Songs= new List<Song>()
{
new Song { Name="SongName", Genre = Genre.GenreTypes.Rock, ArtistId=Artists[0].ID} //<--
};
Songs.ForEach(s => context.Songs.Add(s));
context.SaveChanges();
Теперь, как продвигается разделение идентификатора и фактического исполнителя.Это очень просто: когда вы создаете исполнителя, вы можете вручную установить идентификатор и использовать его позже в своем коде, вместо того, чтобы сначала сохранить исполнителя.Итак, сначала вы делаете своих исполнителей и устанавливаете там Id, а затем вы можете напрямую использовать его в своей песне.В вашем примере вы на самом деле делаете Savechanges () дважды.Если вы используете «мой» метод, вам нужно сохранить только один раз.Вы действительно должны проверить некоторые учебники по Entity Framework, Google - ваш друг :)