中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

沙田区| 台南市| 淅川县| 平谷区| 蒙自县| 峨眉山市| 柳州市| 县级市| 永胜县| 新郑市| 龙岩市| 深泽县| 芒康县| 芜湖县| 筠连县| 石景山区| 云阳县| 合作市| 湖口县| 广南县| 西城区| 壶关县| 固始县| 大英县| 施秉县| 临夏县| 墨脱县| 额敏县| 吉木萨尔县| 陈巴尔虎旗| 盘锦市| 巨野县| 法库县| 三江| 大埔县| 上杭县| 奈曼旗| 津南区| 长垣县| 临夏市| 繁昌县|