EfCore基础知识

EfCore基础知识

表映射

实体映射到DbSet属性的名称默认使用类名称。一般情况下可以用类名称映射就可以了,但是如数据库表带有前缀,实体类不想用前缀的情况下怎么处理呢?一般分为两种处理方式。

数据注释方式

using System.ComponentModel.DataAnnotations.Schema;

[Table("blogs")]
public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
}

数据注释就是在类名称上使用Table("映射表名称")方式来实现

数据实体对象的集合中重写OnModelCreating方法

using Microsoft.EntityFrameworkCore;

class MyContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .ToTable("blogs");
    }
}

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
}

这种方法就是通过重写OnModelCreating方法,使用.ToTable('映射表名称')实现

列映射

列的映射也和表的映射一样,通过 [Column("映射列名称")]和重写OnModelCreating()方法.HasColumnName("映射列名称");例如

    [Column("blog_id")]
    public int BlogId { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
            modelBuilder.Entity<Blog>()
                .Property(b => b.BlogId)
                .HasColumnName("blog_id");
    }
除非注明,文章均由开源 NetCore整理发布;
欢迎转载。转载请注明本文地址:https://www.netcore.pub/netcore/142.html
站长会将优质文章在各大平台同步更新、推送,欢迎大家访问、订阅:
NetCore:NetCore
博客园:https://www.cnblogs.com/Zenderblogs/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇