最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Entity?Framework實(shí)體拆分多個(gè)表

 更新時(shí)間:2022年03月07日 11:05:42   作者:.NET開發(fā)菜鳥  
這篇文章介紹了Entity?Framework實(shí)體拆分多個(gè)表的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、概念

實(shí)體拆分:一個(gè)實(shí)體拆分成多個(gè)表,如Product實(shí)體,可以拆分成Product和ProductWebInfo兩個(gè)表,Product表用于存儲(chǔ)商品的字符類信息,ProductWebInfo用于存儲(chǔ)商品的圖片信息,兩張表通過SKU進(jìn)行關(guān)聯(lián)。

1、Product實(shí)體類結(jié)構(gòu):

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 實(shí)體拆分.Model
{
    public class Product
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.None)] //設(shè)置主鍵需要自己填充
        public int SKU { get; set; }
        public string Description { get; set; }

        public decimal Price { get; set; }

        public string ImageURL { get; set; }
    }
}

 2、數(shù)據(jù)實(shí)體類結(jié)構(gòu):

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

namespace 實(shí)體拆分.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、使用數(shù)據(jù)遷移生成數(shù)據(jù)庫,生成后的表結(jié)構(gòu)如下圖所示:

4、測(cè)試數(shù)據(jù):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using 實(shí)體拆分.DatabaseContext;

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

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

 5、運(yùn)行程序,查詢數(shù)據(jù)庫結(jié)果

總結(jié)

將實(shí)體拆分成多表的步驟:

1、在工程中創(chuàng)建一個(gè)新類繼承自DbContext類。
2、創(chuàng)建Product的POCO類。
3、在新創(chuàng)建的DbContext子類中添加屬性:DbSet<Product>。
4、重寫DbContext類的OnModelCreating()方法。

點(diǎn)此下載示例代碼

到此這篇關(guān)于Entity Framework實(shí)體拆分多個(gè)表的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • web.config中配置數(shù)據(jù)庫連接的方式

    web.config中配置數(shù)據(jù)庫連接的方式

    Web.config文件是一個(gè)XML文本文件,它用來儲(chǔ)存 ASP.NET Web 應(yīng)用程序的配置信息(如最常用的設(shè)置ASP.NET Web 應(yīng)用程序的身份驗(yàn)證方式),它可以出現(xiàn)在應(yīng)用程序的每一個(gè)目錄中。本文主要介紹web.config中配置數(shù)據(jù)庫連接的兩種方式,一起來看。
    2015-10-10
  • Jwt通過源碼揭秘隱藏大坑

    Jwt通過源碼揭秘隱藏大坑

    今天分享一下在使用JWT在項(xiàng)目中遇到的一個(gè)問題,主要是一個(gè)協(xié)議的細(xì)節(jié),非常容易被忽略,如果不是自己遇到,或者去看源碼的實(shí)現(xiàn),我估計(jì)至少80%的人都會(huì)栽在這里,下面來還原一下這個(gè)問題的過程,由于這個(gè)問題出現(xiàn)有一定的概率,不是每次都會(huì)出現(xiàn),所以才容易掉坑里
    2022-05-05
  • Asp.NetCore3.1開源項(xiàng)目升級(jí)為.Net6.0的方法實(shí)現(xiàn)

    Asp.NetCore3.1開源項(xiàng)目升級(jí)為.Net6.0的方法實(shí)現(xiàn)

    自從.Net6.0出來后,一直想之前開發(fā)的項(xiàng)目升級(jí).Net6.0,本文就詳細(xì)的介紹一下如何將Asp.NetCore3.1開源項(xiàng)目升級(jí)為.Net6.0,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Asp.net GridView使用大全(分頁實(shí)現(xiàn))

    Asp.net GridView使用大全(分頁實(shí)現(xiàn))

    關(guān)于GridView的使用涉及很多,網(wǎng)絡(luò)上零零散散的有一些,為了讓自己使用方便,也為了大家能很好的學(xué)習(xí)與工作,我把網(wǎng)絡(luò)上的GridView使用方法收集了一些
    2013-04-04
  • c# .net 生成圖片驗(yàn)證碼的代碼

    c# .net 生成圖片驗(yàn)證碼的代碼

    c# .net 生成圖片驗(yàn)證碼的代碼...
    2007-03-03
  • ABP入門系列之Json格式化

    ABP入門系列之Json格式化

    ,JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。本文重點(diǎn)給大家介紹ABP入門系列之Json格式化,需要的朋友可以參考下
    2017-03-03
  • .Net Core實(shí)現(xiàn)選擇數(shù)據(jù)熱更新讓服務(wù)感知配置的變化

    .Net Core實(shí)現(xiàn)選擇數(shù)據(jù)熱更新讓服務(wù)感知配置的變化

    這篇文章主要介紹了.Net Core實(shí)現(xiàn)選擇數(shù)據(jù)熱更新讓服務(wù)感知配置的變化,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • ASP.NET?Core中Razor頁面與MVC區(qū)別介紹

    ASP.NET?Core中Razor頁面與MVC區(qū)別介紹

    這篇文章介紹了ASP.NET?Core中Razor頁面與MVC的區(qū)別,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • .NET Core 反射底層原理解析

    .NET Core 反射底層原理解析

    本文介紹了.NET中的反射機(jī)制,包括前期綁定(EarlyBinding)和后期綁定(LateBinding)的概念,反射是一種強(qiáng)大的工具,但在性能要求較高的場(chǎng)景中應(yīng)謹(jǐn)慎使用,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • ASP.NET Core為Ocelot網(wǎng)關(guān)配置Swagger

    ASP.NET Core為Ocelot網(wǎng)關(guān)配置Swagger

    這篇文章介紹了ASP.NET Core為Ocelot網(wǎng)關(guān)配置Swagger的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04

最新評(píng)論

和硕县| 浦北县| 肇庆市| 阿拉善盟| 务川| 刚察县| 黔西县| 永兴县| 宜兴市| 龙胜| 双峰县| 长乐市| 镶黄旗| 长宁县| 长宁区| 黄平县| 海兴县| 高青县| 绿春县| 老河口市| 新巴尔虎左旗| 玉门市| 曲阜市| 晋城| 文登市| 黄平县| 石景山区| 西华县| 乐山市| 加查县| 元朗区| 农安县| 连平县| 博野县| 石城县| 信宜市| 水城县| 彝良县| 永昌县| 昌江| 淳化县|