Database Reference
In-Depth Information
Listing 13-17. DbContext Object
public class Recipe5Context : DbContext
{
public Recipe5Context()
: base("Recipe5ConnectionString")
{
// Disable Entity Framework Model Compatibility
Database.SetInitializer<Recipe6Context>(null);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Account>().ToTable("Chapter13.Account");
modelBuilder.Entity<Payment>().ToTable("Chapter13.Payment");
}
public DbSet<Account> Accounts { get; set; }
public DbSet<Payment> Payments { get; set; }
}
Next add an App.Config class to the project, and add to it the code from Listing 13-18 under the
ConnectionStrings section.
Listing 13-18. Connection String
<connectionStrings>
<add name="Recipe5ConnectionString"
connectionString="Data Source=.;
Initial Catalog=EFRecipes;
Integrated Security=True;
MultipleActiveResultSets=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
The code in Listing 13-19 illustrates inserting, retrieving, and updating our model.
Listing 13-19. Inserting, Retrieving, and Updating Our Model
using (var context = new Recipe5Context())
{
var watch = new Stopwatch();
watch.Start();
for (var i = 0; i < 5000; i++)
{
var account = new Account { Name = "Test" + i, Balance = 10M,
Payments = new Collection<Payment> { new Payment {PaidTo = "Test" + (i + 1), Paid = 5M }},} ;
context.Accounts.Add(account);
Console.WriteLine("Adding Account {0}", i);
}
context.SaveChanges();
watch.Stop();
Console.WriteLine("Time to insert: {0} seconds", watch.Elapsed.TotalSeconds.ToString());
}
Search WWH ::




Custom Search