91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Entity?Framework實體拆分多個表的示例分析

發布時間:2022-03-05 11:43:56 來源:億速云 閱讀:125 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Entity Framework實體拆分多個表的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Entity Framework實體拆分多個表的示例分析”這篇文章吧。

一、概念

實體拆分:一個實體拆分成多個表,如Product實體,可以拆分成Product和ProductWebInfo兩個表,Product表用于存儲商品的字符類信息,ProductWebInfo用于存儲商品的圖片信息,兩張表通過SKU進行關聯。

1、Product實體類結構:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 實體拆分.Model
{
    public class Product
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.None)] //設置主鍵需要自己填充
        public int SKU { get; set; }
        public string Description { get; set; }

        public decimal Price { get; set; }

        public string ImageURL { get; set; }
    }
}

 2、數據實體類結構:

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using 實體拆分.Model;

namespace 實體拆分.DatabaseContext
{
    public class EFDbContext :DbContext
    {
        public EFDbContext()
            : base("name=Default")
        { }


        public DbSet<Product> Products { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Product>().Map(p =>
            {
                p.Properties(m => new { m.SKU, m.Price, m.Description });
                p.ToTable("Product");
            })
            .Map(p =>
            {
                p.Properties(m => new { m.SKU, m.ImageURL });
                p.ToTable("ProductWebInfo");
            });


            base.OnModelCreating(modelBuilder);
        }
    }
}

 3、使用數據遷移生成數據庫,生成后的表結構如下圖所示:

Entity?Framework實體拆分多個表的示例分析

4、測試數據:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using 實體拆分.DatabaseContext;

namespace 實體拆分
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var context = new EFDbContext())
            {
                context.Products.Add(new Model.Product() {
                    SKU=293,
                    Description="C#高級編程(第10版)",
                    Price=299 ,
                    ImageURL="http://image.baidu.com/1.jpg"
                });
                // 保存
                context.SaveChanges();
            }

            Console.WriteLine("創建成功");
            Console.ReadKey();
        }
    }
}

 5、運行程序,查詢數據庫結果

Entity?Framework實體拆分多個表的示例分析

以上是“Entity Framework實體拆分多個表的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石柱| 咸宁市| 屏东县| 金昌市| 丹东市| 博爱县| 岗巴县| 吉木乃县| 谷城县| 固原市| 北京市| 贵德县| 平谷区| 雅安市| 浮山县| 旬阳县| 赤水市| 黑龙江省| 兖州市| 松滋市| 逊克县| 自贡市| 博兴县| 剑河县| 光山县| 南宫市| 肇源县| 晴隆县| 宜兰县| 襄樊市| 雅江县| 靖州| 天气| 永仁县| 北碚区| 璧山县| 景洪市| 宜川县| 布拖县| 东兰县| 伊金霍洛旗|