首页 > 其他分享 >ef orm unique约束 uuid 创建前检查

ef orm unique约束 uuid 创建前检查

时间:2023-07-16 11:34:34浏览次数:34  
标签:set uuid EF6SQLiteTutorial get ef orm context using public

设置uuid

namespace EF6SQLiteTutorial.Models
{

    public class People
    {
        public int Id { get; set; }
        // 设置uuid
        public Guid Uuid { get; set; } = Guid.NewGuid();
        public string Name { get; set; } = string.Empty;
        public int age { get; set; } = 18;
        public string sex { get; set; } = "male";

    }

}

创建前检查

using EF6SQLiteTutorial.Data;
using EF6SQLiteTutorial.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;

namespace EF6SQLiteTutorial.Controllers
{

   [Route("api/[controller]")]  // https://localhost:7115/api/RpgCharacter
    [ApiController]
    public class RpgCharacterController : ControllerBase
    {
        private readonly DataContext _context;

        public RpgCharacterController(DataContext context)
        {
            _context = context;
        }

        [HttpPost]
        public async Task<ActionResult<List<RpgCharacter>>> AddCharacter(RpgCharacter character)
        {
            var existingRPG = await _context.RpgCharacters.FirstOrDefaultAsync(c => c.Name == character.Name);
            if (existingRPG != null)
            {
                // 如果存在,则返回一个错误消息
                return BadRequest("A rpg with the same name already exists.");
            }
            _context.RpgCharacters.Add(character);
            await _context.SaveChangesAsync();
        
            return Ok(await _context.RpgCharacters.ToListAsync());
        }

       
    }
}

unique约束

using Microsoft.EntityFrameworkCore;
using EF6SQLiteTutorial.Models;



namespace EF6SQLiteTutorial.Data
{
    public class DataContext : DbContext
    {
        public DataContext(DbContextOptions<DataContext> options) : base(options)
        {

        }

        public DbSet<RpgCharacter> RpgCharacters => Set<RpgCharacter>();
        public DbSet<People> Peoples => Set<People>();

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {

            // 设置RPG角色的name唯一,unique约束
            modelBuilder.Entity<RpgCharacter>()
                   .HasIndex(c => c.Name)
                   .IsUnique();
        }

    }




}

标签:set,uuid,EF6SQLiteTutorial,get,ef,orm,context,using,public
From: https://www.cnblogs.com/zhuoss/p/17557614.html

相关文章

  • Winform自定义控件之复合控件
    winform提供了很多控件供使用,如label;text;button;panel;checkbox等,在一些场景下,这些控件不能很好的满足使用或适应场景,就需要我们进行自定义控件。自定义控件有三种形式:1.组合控件:将vs提供的控件自定义组合打包成一个新的控件就叫做组合控件。可避免一些重复工作代码,这个很好理......
  • custom use 定义 以及uuid 做pk
    applicaton/models/user.pyimportuuidfromdjango.contrib.auth.modelsimportAbstractUserfromdjango.contrib.auth.validatorsimportUnicodeUsernameValidatorfromdjango.core.validatorsimportRegexValidatorfromdjango.dbimportmodels#カスタムユーザ......
  • dotnet 连接使用ef orm连接sqlite数据库的小demo
    EF6SQLiteTutorial/Program.csusingEF6SQLiteTutorial.Data;usingMicrosoft.EntityFrameworkCore;varbuilder=WebApplication.CreateBuilder(args);//Addservicestothecontainer.builder.Services.AddControllers();//LearnmoreaboutconfiguringSwag......
  • dotnet ef的使用
    EntityFrameworkCore的使用如果您想要根据模型创建数据库表,可以使用EntityFrameworkCore的迁移功能。迁移允许您在模型更改时更新数据库架构,而无需手动创建或修改表。要使用迁移,您需要执行以下步骤:安装Microsoft.EntityFrameworkCore.Tools包,以便在命令行中使用dotnet......
  • StatefulSet
    有状态应用实例之间有不对等关系,以及实例对外部数据有依赖关系的应用,就被称为“有状态应用”。Pod管理策略通过.spec.podManagementPolicy字段来管理Pod。OrderedReady:严格遵循Pod顺序来启停,默认设置。Parallel:告诉StatefulSet控制器并行启动或终止所有Pod,并且在启动或......
  • Makeflie脚本使用
    1.目标2.Makefile的作用自动化编译仿真文件有引用层级关系,Tb会引用RTL顶层,RTL顶层也会引用一些其他的小的模块,编译的时候被引用的文件需要先进行编译。脚本有两种模式,debug模式和regression模式。debug模式通常用于代码的编写调试阶段,会经常性的改写我们所编写的代码......
  • Mozilla 检测到 Firefox 出现大量崩溃事件
    导读近日,Mozilla检测到Firefox出现了大量崩溃事件,这个问题主要发生在使用 Linux 系统的用户身上,尤其是使用基于旧版本Debian的Linux系统上。经过调查,Mozilla最后发现这个问题并非由Firefox本身引起,而是涉及到Linux内核和Google的JavaScript代码。这些......
  • dotnet 连接sqlite数据库 orm EntityFrameworkCore
    dotnet_learn/appsettings.json{"Logging":{"LogLevel":{"Default":"Information","Microsoft.AspNetCore":"Warning"}},"AllowedHosts":"*"}d......
  • EF Core 数据查询
    查询数据EntityFrameworkCore使用语言集成查询(LINQ)来查询数据库中的数据。EFCore将LINQ查询的表示形式传递给数据库提供程序。反过来,数据库提供程序将其转换为数据库特定的查询语言(SQL语句)跟踪查询与非跟踪查询跟踪行为控制EntityFrameworkCore是否在其更改......
  • Transform LiveData
    查询资料的其中一个场景:创建一个回调函数,当查询后台的时候,后台有结果了,回调对应的回调函数,并将结果保存到LiveData中。publicclassDataModel{    ...    publicMutableLiveData<List<Repo>>searchRepo(Stringquery){        finalMutableLiveData<......