zoukankan      html  css  js  c++  java
  • 将一个实体数据保存到不同的数据表中<EntityFramework6.0>

    2014-11-22声明方式

     1  public class Product
     2     {
     3         [Key]
     4         [DatabaseGenerated(DatabaseGeneratedOption.None)]
     5         public int SKU { get; set; }
     6         public string Description { get; set; }
     7         public decimal Price { get; set; }
     8         public virtual string ImageURL { get; set; }
     9     }
    10 
    11     public class ProductContext : DbContext
    12     {
    13         public DbSet<Product> Products { get; set; }
    14         protected override void OnModelCreating(DbModelBuilder modelBuilder)
    15         {
    16             base.OnModelCreating(modelBuilder);
    17             modelBuilder.Entity<Product>()
    18                 .Map(m =>
    19                 {
    20                     m.Properties(p => new {p.SKU, p.Price, p.Description});
    21                     m.ToTable("Table1");
    22                 }).Map(m =>
    23                 {
    24                     m.Properties(p => new {p.SKU, p.ImageURL});
    25                     m.ToTable("Table2");
    26                 });
    27         }
    28     }

    怎么使用

     1   static void Main(string[] args)
     2         {
     3             using (var context=new ProductContext())
     4             {
     5                 
     6                 var products = new List<Product>
     7                 {
     8                     new Product {SKU = 1, Price = 12.1m, Description = "1test", ImageURL = "1.jpg"},
     9                     new Product {SKU = 2, Price = 12.2m, Description = "2test", ImageURL = "2.jpg"},
    10                     new Product {SKU = 3, Price = 12.3m, Description = "3test", ImageURL = "3.jpg"},
    11                     new Product {SKU = 4, Price = 12.4m, Description = "4test", ImageURL = "4.jpg"},
    12                     new Product {SKU = 5, Price = 12.5m, Description = "5test", ImageURL = "5.jpg"},
    13                     new Product {SKU = 6, Price = 12.6m, Description = "6test", ImageURL = "6.jpg"}
    14                 };               
    15                 context.Products.AddRange(products);
    16                 context.SaveChanges();
    17             }
    18             using (var context = new ProductContext())
    19             {
    20                 foreach (var product in context.Products)
    21                 {
    22                     Console.WriteLine("{0}--{1}--{2}--{3}", product.SKU, product.Price, product.Description,
    23                         product.ImageURL);
    24                 }
    25                 Console.ReadKey();
    26             }
    27          }

    生成表结构

    运行效果

  • 相关阅读:
    linux shell script
    API Gateway : Kong
    rabbitmq management advance lesson
    Python Base HTTP Server
    linux 笔试题
    dll return a string
    friend class
    GCC 编译使用动态链接库 LD
    设计模式学习(四)——单例模式
    简单聊聊TestNG中的并发
  • 原文地址:https://www.cnblogs.com/rohelm/p/4114562.html
Copyright © 2011-2022 走看看