using System.Data.Entity;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
public static void Main()
Z.EntityFramework.Extensions.EntityFrameworkManager.UseFiddleSqlCompact(System.Data.Entity.SqlServerCompact.SqlCeProviderServices.Instance, System.Data.SqlServerCe.SqlCeProviderFactory.Instance);
using (var context = new BookStore())
Category category1 = new Category()
CategoryName = "category 1",
Category category2= new Category()
CategoryName = "category 2",
Categories = new List<Category>()
Categories = new List<Category>()
context.Books.Add(book1);
context.Books.Add(book2);
var categories = context.Categories.ToList();
var books = context.Books.ToList();
FiddleHelper.WriteTable(books);
FiddleHelper.WriteTable(categories);
public class BookStore : DbContext
public BookStore() : base(@"Data Source=ZZZ_Projects.sdf")
protected override void OnModelCreating(DbModelBuilder modelBuilder)
modelBuilder.Entity<Book>()
.HasMany(b => b.Categories)
cs.MapRightKey("CategoryId");
cs.ToTable("BookCategories");
public DbSet<Category> Categories { get; set; }
public DbSet<Book> Books { get; set; }
public int BookId { get; set; }
public string Title { get; set; }
public virtual ICollection<Category> Categories { get; set; }
public int CategoryId { get; set; }
public string CategoryName { get; set; }
public virtual ICollection<Book> Books { get; set; }