Hello RedSakura,
I have corrected your code here. you have missed creating new object of Books in Author class.
Note: I have checked with static data only not with Database. and this is complete working code.
var db = new Source() { Authors = new List<Author>(), Publisher = new List<Publisher>(), Books = new List<Book>() };
Publisher publisher = new Publisher() { Title = "Press", Address = "India", Email = "this@gmail.com", ID = 1 };
db.Publisher.Add(publisher);
publisher = db.Publisher.Single(p => p.Title == "Press");
Book book = new Book() { ISBN = "123424", Publisher = publisher, Title = "Intro to .NET", Authors = new List<Author>() };
book.Authors.Add(new Author() { FirstName = "Bill", LastName = "Gates" });
db.Books.Add(book);
Thanks,
Imdadhusen