iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ASP.NET Core怎么使用EF创建关系模型
  • 761
分享到

ASP.NET Core怎么使用EF创建关系模型

2023-06-29 21:06:40 761人浏览 八月长安
摘要

今天小编给大家分享一下asp.net Core怎么使用EF创建关系模型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧

今天小编给大家分享一下asp.net Core怎么使用EF创建关系模型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    1.关系

    关系定义两个实体之间的关系。在关系型数据库中,这由外键约束表示。

    2.术语定义

    有许多术语用于描述关系:

    • 相关实体:这是包含外键属性的实体。有时称为关系的"子级"。

    • 主体实体:这是包含主/备用键属性的实体。有时称为关系的 "父项"。

    • 外键:依赖实体中的属性,用于存储与实体相关的主体键属性的值。

    • 主体密钥:唯一标识主体实体的属性。这可能是主键或备用密钥。

    • 导航属性:在主体和/或从属实体上定义的属性,该属性包含对相关实体的引用。

    • 集合导航属性:一个导航属性,其中包含对多个相关实体的引用。

    • 引用导航属性:保存对单个相关实体的引用的导航属性。

    • 反向导航属性:讨论特定导航属性时,此术语是指关系另一端的导航属性。

    下面的代码列表显示了与之间Blog的一对多关系Post

    • Post是依赖实体

    • Blog是主体实体

    • Post.BlogId为外键

    • Blog.BlogId是主体键(在这种情况下是主键,而不是备用键)

    • Post.Blog是一个引用导航属性

    • Blog.Posts是集合导航属性

    • Post.Blog是的Blog.Posts反向导航属性(反之亦然)

    public class Blog{    public int BlogId { get; set; }    public string Url { get; set; }    public List<Post> Posts { get; set; }}public class Post{    public int PostId { get; set; }    public string Title { get; set; }    public string Content { get; set; }    public int BlogId { get; set; }    public Blog Blog { get; set; }}

    3.约定

    按照约定,当发现类型上有导航属性时,将创建关系。如果属性指向的类型不能由当前的数据库提供程序映射为标量类型,则该属性视为一个导航属性。

    4.完全定义的关系

    关系最常见的模式是在关系两端定义导航属性,在依赖实体类中定义外键属性。
    如果在两个类型之间找到一对导航属性,则这些属性将配置为同一关系的反向导航属性。
    如果依赖实体包含名为<primary key property name>、<navigation property name><primary key property name>或<principal entity name><primary key property name>的属性,则该属性将被配置为外键。

    public class Blog{    public int BlogId { get; set; } public string Url { get; set; }    //导航属性    public List<Post> Posts { get; set; }}public class Post{    public int PostId { get; set; }    public string Title { get; set; }    public string Content { get; set; }    //外键属性    public int BlogId { get; set; }    //反向导航属性    public Blog Blog { get; set; }}

    5.无外键属性

    尽管建议在依赖实体类中定义外键属性,但这并不是必需的。如果未找到外键属性,则会以该名称<navigation property name><principal key property name>引入阴影外键属性。

    public class Blog{    public int BlogId { get; set; }    public string Url { get; set; }    //阴影导航属性    public List<Post> Posts { get; set; }}public class Post{    public int PostId { get; set; }    public string Title { get; set; }    public string Content { get; set; }     //阴影反向导航属性    public Blog Blog { get; set; }}

    6.单个导航属性

    只包含一个导航属性(无反向导航,没有外键属性)就足以具有约定定义的关系。 还可以有一个导航属性和一个外键属性。

    public class Blog{    public int BlogId { get; set; }    public string Url { get; set; }    //阴影导航属性    public List<Post> Posts { get; set; }}public class Post{    public int PostId { get; set; }    public string Title { get; set; }    public string Content { get; set; }}

    7.数据注释

    可以使用两个数据批注来配置关系[ForeignKey]和[InverseProperty]。System.ComponentModel.DataAnnotations.Schema命名空间中提供了这些项。

    7.1ForeignKey

    你可以使用数据批注来配置应用程序作给定关系的外键属性的属性。通常,当不按约定发现外键属性时,会执行此操作。

    namespace EFModeling.DataAnnotations.Relationships.ForeignKey{    class MyContext : DbContext    {        public DbSet<Blog> Blogs { get; set; }        public DbSet<Post> Posts { get; set; }    }    #region Entities    public class Blog    {        public int BlogId { get; set; }        public string Url { get; set; }        //导航属性        public List<Post> Posts { get; set; }    }    public class Post    {        public int PostId { get; set; }        public string Title { get; set; }        public string Content { get; set; }        //外键        public int BlogForeignKey { get; set; }        //设置反向导航外键        [ForeignKey("BlogForeignKey")]        public Blog Blog { get; set; }    }    #endregion}

    7.2InverseProperty

    您可以使用数据批注来配置依赖项和主体实体上的导航属性如何配对。这通常在两个实体类型之间存在多个导航属性对时执行。

    namespace EFModeling.DataAnnotations.Relationships.InverseProperty{    class MyContext : DbContext    {        public DbSet<Post> Posts { get; set; }        public DbSet<User> Users { get; set; }    }    #region Entities    public class Post    {        public int PostId { get; set; }        public string Title { get; set; }        public string Content { get; set; }        public int AuthorUserId { get; set; }        public User Author { get; set; }        public int ContributorUserId { get; set; }        public User Contributor { get; set; }    }    public class User    {        public string UserId { get; set; }        public string FirstName { get; set; }        public string LastName { get; set; }                [InverseProperty("Author")]        public List<Post> AuthoredPosts { get; set; }               [InverseProperty("Contributor")]        public List<Post> ContributedToPosts { get; set; }    }    #endregion}

    8.Fluent api

    若要在熟知的API中配置关系,请首先标识构成关系的导航属性。HasOne或HasMany标识要开始配置的实体类型上的导航属性。然后,将调用链接到WithOne或WithMany以标识反向导航。HasOne/WithOne用于引用导航属性,HasMany / WithMany用于集合导航属性。

    namespace EFModeling.FluentAPI.Relationships.NoForeignKey{    #region Model    class MyContext : DbContext    {        public DbSet<Blog> Blogs { get; set; }        public DbSet<Post> Posts { get; set; }        protected override void OnModelCreating(ModelBuilder modelBuilder)        {            modelBuilder.Entity<Post>()                //配置一对多关系                .HasOne(p => p.Blog)                .WithMany(b => b.Posts);        }    }    public class Blog    {        public int BlogId { get; set; }        public string Url { get; set; }        public List<Post> Posts { get; set; }    }    public class Post    {        public int PostId { get; set; }        public string Title { get; set; }        public string Content { get; set; }        public Blog Blog { get; set; }    }    #endregion}

    8.1单个导航属性

    如果只有一个导航属性,则用WithOne、WithMany的无参数重载。这表示在概念上,关系的另一端有一个引用或集合,但实体类中不包含导航属性。

    namespace EFModeling.FluentAPI.Relationships.OneNavigation{    #region Model    class MyContext : DbContext    {        public DbSet<Blog> Blogs { get; set; }        public DbSet<Post> Posts { get; set; }        protected override void OnModelCreating(ModelBuilder modelBuilder)        {            modelBuilder.Entity<Blog>()                //配置多对一关系                .HasMany(b => b.Posts)                .WithOne();        }    }    public class Blog    {        public int BlogId { get; set; }        public string Url { get; set; }        //导航属性        public List<Post> Posts { get; set; }    }    public class Post    {        public int PostId { get; set; }        public string Title { get; set; }        public string Content { get; set; }    }    #endregion}

    8.2ForeignKey

    你可以使用API来配置应用程序的外键属性。

    namespace EFModeling.Configuring.DataAnnotations.Samples.Relationships.ForeignKey{    #region Model    class MyContext : DbContext    {        public DbSet<Blog> Blogs { get; set; }        public DbSet<Post> Posts { get; set; }        protected override void OnModelCreating(ModelBuilder modelBuilder)        {            modelBuilder.Entity<Post>()                //配置一对多关系                .HasOne(p => p.Blog)                .WithMany(b => b.Posts)                //配置外键                .HasForeignKey(p => p.BlogForeignKey);        }    }    public class Blog    {        public int BlogId { get; set; }        public string Url { get; set; }        //导航属性        public List<Post> Posts { get; set; }    }    public class Post    {        public int PostId { get; set; }        public string Title { get; set; }        public string Content { get; set; }        //外键        public int BlogForeignKey { get; set; }        public Blog Blog { get; set; }    }    #endregion}

    下面的代码列表演示如何配置复合外键:

    namespace EFModeling.Configuring.DataAnnotations.Samples.Relationships.CompositeForeignKey{    #region Model    class MyContext : DbContext    {        public DbSet<Car> Cars { get; set; }        protected override void OnModelCreating(ModelBuilder modelBuilder)        {            modelBuilder.Entity<Car>()                //配置复合主键                .HasKey(c => new { c.State, c.LicensePlate });                modelBuilder.Entity<RecordOfSale>()                //配置一对多关系                .HasOne(s => s.Car)                .WithMany(c => c.SaleHistory)                //配置外键                .HasForeignKey(s => new { s.CarState, s.CarLicensePlate });        }    }    public class Car    {        public string State { get; set; }        public string LicensePlate { get; set; }        public string Make { get; set; }        public string Model { get; set; }        //导航属性        public List<RecordOfSale> SaleHistory { get; set; }    }    public class RecordOfSale    {        public int RecordOfSaleId { get; set; }        public DateTime DateSold { get; set; }        public decimal Price { get; set; }        //State对应CarState        public string CarState { get; set; }        //LicensePlate 对应CarLicensePlate        public string CarLicensePlate { get; set; }        public Car Car { get; set; }    }    #endregion}

    您可以使用的HasForeignKey(...)字符串重载将影子属性配置为外键。建议先将影子属性显式添加到模型,然后再将其用作外键:

    class MyContext : DbContext{    public DbSet<Blog> Blogs { get; set; }    public DbSet<Post> Posts { get; set; }    protected override void OnModelCreating(ModelBuilder modelBuilder)    {        // Add the shadow property to the model        modelBuilder.Entity<Post>()             //配置外键            .Property<int>("BlogForeignKey");        // Use the shadow property as a foreign key        modelBuilder.Entity<Post>()            //配置一对多关系            .HasOne(p => p.Blog)            .WithMany(b => b.Posts)            //配置外键            .HasForeignKey("BlogForeignKey");    }}public class Blog{    public int BlogId { get; set; }    public string Url { get; set; }    public List<Post> Posts { get; set; }}public class Post{    public int PostId { get; set; }    public string Title { get; set; }    public string Content { get; set; }    public Blog Blog { get; set; }}

    8.3无导航属性

    不一定需要提供导航属性。你可以直接在关系的一端提供外键。

    namespace EFModeling.FluentAPI.Relationships.NoNavigation{    #region Model    class MyContext : DbContext    {        public DbSet<Blog> Blogs { get; set; }        public DbSet<Post> Posts { get; set; }        protected override void OnModelCreating(ModelBuilder modelBuilder)        {            modelBuilder.Entity<Post>()                //配置一对多关系                .HasOne<Blog>()                .WithMany()                //配置外键                .HasForeignKey(p => p.BlogId);        }    }    public class Blog    {        public int BlogId { get; set; }        public string Url { get; set; }    }    public class Post    {        public int PostId { get; set; }        public string Title { get; set; }        public string Content { get; set; }        public int BlogId { get; set; }    }    #endregion}

    9.主体密钥

    如果你希望外键引用主键之外的属性,则可以使用熟知的API来配置关系的主体键属性。 配置为主体密钥的属性将自动设置为备用密钥。

    class MyContext : DbContext{    public DbSet<Car> Cars { get; set; }    protected override void OnModelCreating(ModelBuilder modelBuilder)    {        modelBuilder.Entity<RecordOfSale>()            .HasOne(s => s.Car)            .WithMany(c => c.SaleHistory)            .HasForeignKey(s => s.CarLicensePlate)            .HasPrincipalKey(c => c.LicensePlate);    }}public class Car{    public int CarId { get; set; }    public string LicensePlate { get; set; }    public string Make { get; set; }    public string Model { get; set; }    public List<RecordOfSale> SaleHistory { get; set; }}public class RecordOfSale{    public int RecordOfSaleId { get; set; }    public DateTime DateSold { get; set; }    public decimal Price { get; set; }    public string CarLicensePlate { get; set; }    public Car Car { get; set; }}

    下面的代码列表演示如何配置复合主体键:

    class MyContext : DbContext{    public DbSet<Car> Cars { get; set; }    protected override void OnModelCreating(ModelBuilder modelBuilder)    {        modelBuilder.Entity<RecordOfSale>()            .HasOne(s => s.Car)            .WithMany(c => c.SaleHistory)            .HasForeignKey(s => new { s.CarState, s.CarLicensePlate })            .HasPrincipalKey(c => new { c.State, c.LicensePlate });    }}public class Car{    public int CarId { get; set; }    public string State { get; set; }    public string LicensePlate { get; set; }    public string Make { get; set; }    public string Model { get; set; }    public List<RecordOfSale> SaleHistory { get; set; }}public class RecordOfSale{    public int RecordOfSaleId { get; set; }    public DateTime DateSold { get; set; }    public decimal Price { get; set; }    public string CarState { get; set; }    public string CarLicensePlate { get; set; }    public Car Car { get; set; }}

    10.必需和可选的关系

    您可以使用熟知的API来配置是必需的还是可选的关系。最终,这会控制外键属性是必需的还是可选的。当使用阴影状态外键时,这非常有用。如果实体类中具有外键属性,则关系的requiredness取决于外键属性是必需还是可选。

    class MyContext : DbContext{    public DbSet<Blog> Blogs { get; set; }    public DbSet<Post> Posts { get; set; }    protected override void OnModelCreating(ModelBuilder modelBuilder)    {        modelBuilder.Entity<Post>()            .HasOne(p => p.Blog)            .WithMany(b => b.Posts)            .IsRequired();    }}public class Blog{    public int BlogId { get; set; }    public string Url { get; set; }    public List<Post> Posts { get; set; }}public class Post{    public int PostId { get; set; }    public string Title { get; set; }    public string Content { get; set; }    public Blog Blog { get; set; }}

    11.级联删除

    您可以使用熟知的API显式配置给定关系的级联删除行为。

    class MyContext : DbContext{    public DbSet<Blog> Blogs { get; set; }    public DbSet<Post> Posts { get; set; }    protected override void OnModelCreating(ModelBuilder modelBuilder)    {        modelBuilder.Entity<Post>()            .HasOne(p => p.Blog)            .WithMany(b => b.Posts)            .OnDelete(DeleteBehavior.Cascade);    }}public class Blog{    public int BlogId { get; set; }    public string Url { get; set; }    public List<Post> Posts { get; set; }}public class Post{    public int PostId { get; set; }    public string Title { get; set; }    public string Content { get; set; }    public int? BlogId { get; set; }    public Blog Blog { get; set; }}

    12.其他关系模式

    12.1一对一

    一对多关系在两侧都有一个引用导航属性。它们遵循与一对多关系相同的约定,但在外键属性上引入了唯一索引,以确保只有一个依赖项与每个主体相关。

    12.1.1数据注释
    public class Blog{    public int BlogId { get; set; }    public string Url { get; set; }    public BlogImage BlogImage { get; set; }}public class BlogImage{    public int BlogImageId { get; set; }    public byte[] Image { get; set; }    public string Caption { get; set; }    public int BlogId { get; set; }    public Blog Blog { get; set; }}
    12.1.2Fluent API

    使用API 配置关系时,请使用HasOne和WithOne方法。配置外键时,需要指定依赖实体类型,请注意以下列表HasForeignKey中提供的泛型参数。在一对多关系中,可以清楚地表明具有引用导航的实体是依赖项,并且具有集合的实体是主体。但这并不是一对一的关系,因此需要显式定义它。

    class MyContext : DbContext{    public DbSet<Blog> Blogs { get; set; }    public DbSet<BlogImage> BlogImages { get; set; }    protected override void OnModelCreating(ModelBuilder modelBuilder)    {        modelBuilder.Entity<Blog>()            .HasOne(p => p.BlogImage)            .WithOne(i => i.Blog)            .HasForeignKey<BlogImage>(b => b.BlogForeignKey);    }}public class Blog{    public int BlogId { get; set; }    public string Url { get; set; }    public BlogImage BlogImage { get; set; }}public class BlogImage{    public int BlogImageId { get; set; }    public byte[] Image { get; set; }    public string Caption { get; set; }    public int BlogForeignKey { get; set; }    public Blog Blog { get; set; }}

    12.2多对多

    目前尚不支持多对多关系,没有实体类来表示联接表。但是,您可以通过包含联接表的实体类并映射两个不同的一对多关系,来表示多对多关系。

    class MyContext : DbContext{    public DbSet<Post> Posts { get; set; }    public DbSet<Tag> Tags { get; set; }    protected override void OnModelCreating(ModelBuilder modelBuilder)    {        modelBuilder.Entity<PostTag>()            .HasKey(pt => new { pt.PostId, pt.TagId });        modelBuilder.Entity<PostTag>()            .HasOne(pt => pt.Post)            .WithMany(p => p.PostTags)            .HasForeignKey(pt => pt.PostId);        modelBuilder.Entity<PostTag>()            .HasOne(pt => pt.Tag)            .WithMany(t => t.PostTags)            .HasForeignKey(pt => pt.TagId);    }}public class Post{    public int PostId { get; set; }    public string Title { get; set; }    public string Content { get; set; }    public List<PostTag> PostTags { get; set; }}public class Tag{    public string TagId { get; set; }    public List<PostTag> PostTags { get; set; }}public class PostTag{    public int PostId { get; set; }    public Post Post { get; set; }    public string TagId { get; set; }    public Tag Tag { get; set; }}

    以上就是“ASP.net Core怎么使用EF创建关系模型”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

    --结束END--

    本文标题: ASP.NET Core怎么使用EF创建关系模型

    本文链接: https://www.lsjlt.com/news/326547.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • ASP.NET Core使用EF创建关系模型
      目录1.关系2.术语定义3.约定4.完全定义的关系5.无外键属性6.单个导航属性7.数据注释7.1ForeignKey7.2InverseProperty8.Fluent API8....
      99+
      2024-04-02
    • ASP.NET Core怎么使用EF创建关系模型
      今天小编给大家分享一下ASP.NET Core怎么使用EF创建关系模型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
      99+
      2023-06-29
    • ASP.NET Core怎么使用EF创建模型
      这篇文章主要介绍“ASP.NET Core怎么使用EF创建模型”,在日常操作中,相信很多人在ASP.NET Core怎么使用EF创建模型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ASP...
      99+
      2023-06-29
    • ASP.NET Core使用EF创建模型的方法
      这篇文章主要介绍“ASP.NET Core使用EF创建模型的方法”,在日常操作中,相信很多人在ASP.NET Core使用EF创建模型的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”A...
      99+
      2023-06-29
    • ASP.NET Core中如何使用EF创建模型
      本文小编为大家详细介绍“ASP.NET Core中如何使用EF创建模型”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.NET Core中如何使用EF创建模型”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
      99+
      2023-06-29
    • ASP.NET Core使用EF为关系数据库建模
      目录1.简介2.表映射2.1约定2.2数据注释2.3Fluent API3.列映射3.1约定3.2数据注释3.3Fluent API4.数据类型4.1约定4.2数据注释4.3Flue...
      99+
      2024-04-02
    • ASP.NET Core如何使用EF为关系数据库建模
      本文小编为大家详细介绍“ASP.NET Core如何使用EF为关系数据库建模”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.NET Core如何使用EF为关系数据库建模”文章能帮助大家解决疑惑,下面跟着小编的思路...
      99+
      2023-06-29
    • ASP.NET Core基于现有数据库创建EF模型
      1.简介 Entity Framework Core可通过数据库提供给应用程序的插件访问许多不同的数据库。我们可以通过使用Entity Framework Core构建执行基本数据访...
      99+
      2024-04-02
    • ASP.NET Core使用EF创建模型(索引、备用键、继承、支持字段)
      目录1.索引1.1约定1.2数据批注1.3Fluent API2.备用键2.1约定2.2数据注释2.3Fluent API3.继承3.1约定4.支持字段4.1约定4.2数据注释4.3...
      99+
      2024-04-02
    • ASP.NET Core使用EF创建模型(包含属性、排除属性、主键和生成值)
      目录1.什么是Fluent API?2.包含属性和排除属性2.1包含属性2.2排除属性2.2.1数据批注2.2.2Fluent API3.主键3.1数据批注3.2Fluent API...
      99+
      2024-04-02
    • ASP.NET Core MVC中的模型怎么使用
      本篇内容介绍了“ASP.NET Core MVC中的模型怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.模型绑...
      99+
      2023-06-30
    • ASP.NET Core之Web API怎么创建
      这篇文章主要介绍“ASP.NET Core之Web API怎么创建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ASP.NET Core之Web API怎么创...
      99+
      2023-06-30
    • 怎么创建ASP.NET Core Web应用程序
      本文小编为大家详细介绍“怎么创建ASP.NET Core Web应用程序”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么创建ASP.NET Core Web应用程序”文章能帮助大家解决疑惑,下面跟...
      99+
      2023-06-29
    • ASP.NET Core怎么使用EF SQLite对数据库增删改查
      这篇文章将为大家详细讲解有关ASP.NET Core怎么使用EF SQLite对数据库增删改查,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1 新建ASP.NET Cor...
      99+
      2023-06-26
    • ASP.NET Core中的Razor页面怎么创建
      这篇文章主要介绍“ASP.NET Core中的Razor页面怎么创建”,在日常操作中,相信很多人在ASP.NET Core中的Razor页面怎么创建问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
      99+
      2023-06-29
    • 创建ASP.NET Core Web应用程序并介绍项目模板
      目录创建ASP.NET Web 应用程序运行ASP.NET Core Web 应用程序:ASP.NET Core应用程序模板空APIWeb应用程序模板Web应用程序(模型视图-控制器...
      99+
      2024-04-02
    • ASP.NET Core依赖关系注入怎么实现
      本篇内容主要讲解“ASP.NET Core依赖关系注入怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET Core依赖关系注入怎么实现”吧!1.前言面向对象...
      99+
      2023-06-29
    • ASP.net core怎么使用Autofac实现泛型依赖注入
      本文小编为大家详细介绍“ASP.net core怎么使用Autofac实现泛型依赖注入”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.net core怎么使用Autofac实现泛型依赖注入”文章能帮助大家解决疑惑...
      99+
      2023-06-30
    • Django中怎么创建模型
      这篇文章主要介绍了Django中怎么创建模型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在Django框架中,我们经常会听到模型这个词,在mvc模式中也有提及过。结合之前所...
      99+
      2023-06-14
    • ASP.NET Core中怎么使用多环境
      本篇内容介绍了“ASP.NET Core中怎么使用多环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ASP.NET Core 支...
      99+
      2023-06-30
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作