记.net core 6 集成efcore7 oracle

1、安装nuget包Oracle.EntityFrameworkCore、Microsoft.EntityFrameworkCore

2、增加表对应关系以及初始化方法

/// <summary>
/// ef操作
/// </summary>
public class EFDBForOracle:DbContext
{
    public DbSet<Test> tests {  get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder
            .UseOracle("User ID=user;Password=pwd;Data Source=127.0.0.1/dbname");
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Test>();
    }
}

/// <summary>
/// ef实体
/// </summary>
[Table(name: "BASE_ALIBABA_CARD_URL")]
//[PrimaryKey(nameof(base_alibaba_card_url_id))]
public class Test
{
    [Key]
    [Required(AllowEmptyStrings = false)]//非空
    [Column("BASE_ALIBABA_CARD_URL_ID")]
    [StringLength(10)]
    [Display(Name = "主键")]
    public int base_alibaba_card_url_id { get; set; }

    [Required(AllowEmptyStrings = false)]//非空
    [Column("APPID")]
    [StringLength(32)]
    [Display(Name = "appid")]
    public string appid {  get; set; }

    [Required(AllowEmptyStrings = false)]//非空
    [Column("TEMPLATE_ID")]
    [StringLength(32)]
    public string template_id {  get; set; }

    [Required(AllowEmptyStrings = false)]//非空
    [Column("APPLY_CARD_URL")]
    [StringLength(20)]
    public string apply_card_url {  get; set; }
}

3、使用

/// <summary>
/// 查询
/// </summary>
/// <returns></returns>
[HttpPost("search")]
public string Search()
{
    EFDBForOracle eFDBForOracle = new EFDBForOracle();

    //查
    List<Test> tests = eFDBForOracle.tests.ToList();

    //改
    tests[0].template_id = "测试修改";

    //增
    eFDBForOracle.tests.Add(new Test()
    {
        base_alibaba_card_url_id = DateTime.Now.Millisecond,
        appid = "测",
        template_id = "模板",
        apply_card_url = "url"
    });
    
    IQueryable<Test> tests2 = eFDBForOracle.tests.Where(s => s.appid == "2");
    //Test test3 = new Test()
    //{
    //    base_alibaba_card_url_id= 1,
    //    template_id = "测试修改",
    //    apply_card_url = "测试修改",
    //    appid = "2"
    //};
    //eFDBForOracle.tests.Attach(test3);
    //操作保存
    eFDBForOracle.SaveChanges();

    return tests.Count.ToString();
}

相关推荐

  1. .net core 6 集成efcore7 oracle

    2024-01-19 19:22:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-19 19:22:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-19 19:22:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-19 19:22:03       87 阅读
  4. Python语言-面向对象

    2024-01-19 19:22:03       96 阅读

热门阅读

  1. LightDB - oracle_fdw 过滤条件下推增强【24.1】

    2024-01-19 19:22:03       46 阅读
  2. Go语言学习笔记:函数的定义和调用

    2024-01-19 19:22:03       54 阅读
  3. opencv_模型训练

    2024-01-19 19:22:03       50 阅读
  4. 文心一言 —— 中国的语言大模型

    2024-01-19 19:22:03       53 阅读
  5. 【软件工具】之 Sublime Text

    2024-01-19 19:22:03       60 阅读
  6. 《设计模式的艺术》笔记 - 组合模式

    2024-01-19 19:22:03       38 阅读
  7. 开发安全之:SQL Injection

    2024-01-19 19:22:03       50 阅读
  8. RockerMQ发送消息流程

    2024-01-19 19:22:03       62 阅读
  9. Qt 遍历多个按钮单击信号带参数,绑定到一个槽

    2024-01-19 19:22:03       46 阅读
  10. 对比分析ChatGPT 和文心一言。

    2024-01-19 19:22:03       53 阅读