posts - 313, comments - 273, trackbacks - 15

My Links

News

View Pietro Libro's profile on LinkedIn

DomusDotNet
   DomusDotNet

Pietro Libro

Tag Cloud

Article Categories

Archives

Post Categories

Blogs amici

Links

ASP.NET 5 e AzureTableStorage

Riprendiamo l’esempio del post precedente per testare l’integrazione tra EF7 e lo storage di Azure. Apriamo NuGet ed installiamo il package “EntityFramework.AzureTableStorage” (sempre in beta):

image

Modifichiamo il codice della classe ItemDB in questo modo:

1 public class ItemDB : DbContext 2 { 3 public DbSet<Item> Items { get; set; } 4 5 protected override void OnConfiguring(DbContextOptions options) 6 { 7 options.UseAzureTableStorage("[Storage_Name]", "[Secret_Key"); 8 } 9 10 protected override void OnModelCreating(ModelBuilder modelBuilder) 11 { 12 modelBuilder.Entity<Item>().ForAzureTableStorage() 13 .PartitionAndRowKey(a => a.CategoryId, a => a.Id) 14 .Table("Items"); 15 } 16 }

Rispetto all’esempio precedente è stato rimosso il metodo di estensione UseSqlServer ed aggiunto un degli overload di UseAzureTableStorage che accetta in ingresso due parametri: accountName ed accountKey. Tramite l’override di OnModelCreating andiamo ad istruire il runtime sulle propietà della classe Item che rappresentato rispettivamente la PartitionKey e la RowKey del Table Storage su Azure. Modifichiamo il file Project.json commentando la voce aspnetcore50 nella sezione frameworks:

image

La classe Item modificata è la seguente:

1 public class Item 2 { 3 public int Id { get; set; } 4 public int CategoryId { get; set; } 5 public string Code { get; set; } 6 public string Description { get; set; } 7 }

Infine modifichiamo la classe Program.cs:

1 public void Main(string[] args) 2 { 3 using (ItemDB db = new ItemDB()) 4 { 5 int nextId = new Random().Next(100000); 6 7 db.Items.Add(new Item() 8 { 9 Id = nextId, 10 Code = "Item #" + nextId, 11 Description = "Description #" + nextId 12 }); 13 14 db.SaveChanges(); 15 } 16 17 using (ItemDB db = new ItemDB()) 18 { 19 foreach (Item item in db.Items) 20 { 21 Console.WriteLine("Item Id: {0}, Code: {1}, Description : {2}", 22 item.Id, item.Code, item.Description); 23 } 24 } 25 26 Console.ReadLine(); 27 }

Proviamo quindi ad eseguire l’applicazione:

image

Ulteriore prova che tutto funzioni correttamente si puo’ avere utizzando l’”Azure Storage Explorer”:

image

Print | posted on domenica 30 novembre 2014 22.48 | Filed Under [ C# ASP.NET 5 Entity Framework 7 ]

Comments have been closed on this topic.

Powered by: