首页 > 其他分享 >fluent AI的常用方法

fluent AI的常用方法

时间:2024-04-18 23:55:39浏览次数:23  
标签:Fluent 常用 AI 配置 Entity fluent API modelBuilder csharp

Fluent API是Entity Framework Core的一个功能,它提供了一组可以以流式、链式调用的方法来配置EF的模型。它给予你对模型的完全控制权,高于数据注解(Data Annotations)的优先级。它通常用于DbContext中的OnModelCreating方法里。以下是一些常用的Fluent API配置方法的例子:

配置主键

csharp

modelBuilder.Entity<YourEntity>().HasKey(e => e.Id);

配置关系

一对多

csharp

modelBuilder.Entity<Parent>()
    .HasMany(p => p.Children)
    .WithOne(c => c.Parent)
    .HasForeignKey(c => c.ParentId);

一对一

csharp

modelBuilder.Entity<Parent>()
    .HasOne(p => p.Child)
    .WithOne(c => c.Parent)
    .HasForeignKey<Child>(c => c.ParentId);

配置字段

csharp

modelBuilder.Entity<YourEntity>()
    .Property(e => e.Name)
    .IsRequired(); // 字段是必需的

设置字符串长度

csharp

modelBuilder.Entity<YourEntity>()
    .Property(e => e.Name)
    .HasMaxLength(200); // 设置最大长度

配置列名和数据类型

csharp

modelBuilder.Entity<YourEntity>()
    .Property(e => e.Name)
    .HasColumnName("EntityName")
    .HasColumnType("varchar(200)"); // 设置列名和类型

联合主键

csharp

modelBuilder.Entity<YourEntity>()
    .HasKey(e => new { e.Id, e.AnotherKey }); // 联合主键

配置索引

csharp

modelBuilder.Entity<YourEntity>()
    .HasIndex(e => e.UniqueProperty)
    .IsUnique(); // 设置唯一索引

自定义表名与架构

csharp

modelBuilder.Entity<YourEntity>()
    .ToTable("CustomName", schema: "CustomSchema"); // 设置表名和架构名

这些仅仅是Fluent API部分功能的简要介绍。Fluent API的优势在于它提供了比数据注解更加灵活的配置方式,尤其在处理复杂的实体关系映射以及继承关系时显得尤为重要。这也意味着代码会比起数据注解长和复杂,但是你获得了更多的控制力和灵活性。在实践中,Fluent API经常与数据注解混用 —— 对于简单的配置使用数据注解,而对于更复杂的情况则使用Fluent API。

标签:Fluent,常用,AI,配置,Entity,fluent,API,modelBuilder,csharp
From: https://www.cnblogs.com/DinAction/p/18144794

相关文章

  • reg2inf.exe 是一个 Windows 实用工具,用于将 Windows 注册表文件 (.reg) 转换为 Windo
    reg2inf.exe是一个Windows实用工具,用于将Windows注册表文件(.reg)转换为WindowsINF文件(.inf)。INF文件是一种文本文件,通常用于在Windows操作系统中安装设备驱动程序和配置设置。使用reg2inf.exe工具可以将注册表中的配置转换为INF格式,从而可以在Windows......
  • NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate
    NVIDIA驱动失效简单解决方案:NVIDIA-SMIhasfailedbecauseitcouldn‘tcommunicatewiththeNVIDIAdriver.问题:准备用GPU跑模型时,提示cuda不存在第一步,打开终端,输入:vidia-smi1|NVIDIA-SMIhasfailedbecauseitcouldn'tcommunicatewiththeNVIDIAdriver.2|Make......
  • RuntimeError: No CUDA GPUs are available问题解决
    RuntimeError:NoCUDAGPUsareavailable问题解决检查GPU是否可用importtorchiftorch.cuda.is_available():print("GPU可用")else:print("GPU不可用")显示当前可用的GPU数量importtorchprint("当前可用的GPU数量:",torch.cuda.device_count())P......
  • 第六节常用吊具
    第六节常用吊具起重吊运作业中常见的吊具有吊钩、吊环、抓斗、电磁吸盘、专用吊具等。一、吊钩吊钩是起重机上最广泛应用的一种取物装置。它具有制造简单和适应性强的特点。1.吊钩的分类(1)按其制造方法,分为锻造吊钩和片式吊钩(俗称板钩)两种。锻造吊钩一般用20号钢(也有用Q235,1......
  • MySQL常用管理命令、常用函数小计
    1、Windows系统是MySQL服务器的关闭、重启 (mysql为服务名)关闭服务:netstopmysql启动服务:netstartmysql 2、连接mysql服务器在cmd窗口执行命令:mysql-h127.0.0.1-P3306-uroot-p -h127.0.0.1:指定主机IP  -P3306:执行mysql服务端口......
  • 边缘计算智能分析网关V4地面垃圾AI检测算法介绍及场景应用
    在传统的卫生监管场景中,无法及时发现地面遗留的垃圾,通过人工巡逻的方式需要大量的人力、物力和时间,而且效率不高,并存在一定的滞后性,而采用地面垃圾AI检测算法则可以大大提高监管效率。TSINGSEE青犀AI智能分析网关V4的地面垃圾AI检测算法可以自动识别划定区域内遗留的垃圾,若达到设......
  • TSINGSEE青犀算法中台消防通道堵塞/占压AI检测算法的介绍及应用
    消防通道是建筑物内用于紧急疏散的通道,其畅通无阻对于保障人员生命安全至关重要。然而,由于各种原因,消防通道经常会被杂物、车辆等堵塞,一旦发生火灾等紧急情况,后果不堪设想。为了有效解决这一问题,我们提出了一种基于人工智能技术的消防通道堵塞占用检测算法。该算法利用深度学习技......
  • liunx常用操作
    1.linux配置当用户连续认证失败次数超过5次,锁定该用户使用的账号more/etc/pam.d/system-authauthrequiredpam_tally.soonerr=faildeny=5unlock_time=3002.查询服务器版本cat/etc/os-release3.查询服务器端口netstat-pltun4.安装tcppingcdusr/binwgetht......
  • net8 linux docker sqlserver报错error: 31 - Encryption(ssl/tls) handshake failed)
    asp.netcore升级到8.0后遇到数据库不能连接问题?_已解决_博问_博客园(cnblogs.com) 中文提示:连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:Aconnectionwassuccessfullyestablishedwiththeserver,butthenanerroroccurredduringthep......
  • NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL)、新一代数据集BIRD
    NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL)、新一代数据集BIRD-SQL解读NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法技......