Я сгенерировал контекст и модель, запустив командную строку nuget
Scaffold-DbContext "Server=(LocalDb)\MSSQLLocalDB;Initial Catalog=DummyDB;
Integrated Security=True;Connect Timeout=30;"
Microsoft.EntityFrameworkCore.SqlServer -outputDir Context -Context DummyContext
Когда я пытался пройти без необязательного поля «адрес», необходимо заполнить поле «адрес» для жалоб до достижения функции post. Есть идеи? Спасибо
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"firstName": "string",
"age": 0
}
Мои коды генерируются следующим образом
DummyContext.cs
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
namespace ProjectTemplate.Context
{
public partial class DummyContext : DbContext
{
public DummyContext()
{
}
public DummyContext(DbContextOptions<DummyContext> options)
: base(options)
{
}
public virtual DbSet<Dummys> Dummys { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlServer("Server=(LocalDb)\\MSSQLLocalDB;Initial Catalog=DummyDB;Integrated Security=True;Connect Timeout=30;");
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Dummys>(entity =>
{
entity.Property(e => e.Id).ValueGeneratedNever();
entity.Property(e => e.Address)
.HasColumnName("address")
.HasMaxLength(200);
entity.Property(e => e.Age).HasColumnName("age");
entity.Property(e => e.FirstName)
.IsRequired()
.HasColumnName("firstName")
.HasMaxLength(50);
});
OnModelCreatingPartial(modelBuilder);
}
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}
}
Dummys.cs
using System;
using System.Collections.Generic;
namespace ProjectTemplate.Context
{
public partial class Dummys
{
public Guid Id { get; set; }
public string FirstName { get; set; }
public int? Age { get; set; }
public string Address { get; set; }
}
}
функция записи для createBook
// POST: api/Dummy
[HttpPost]
public async Task<ActionResult<Dummys>> Post([FromBody] Dummys dummy)
{
dummy.Id = Guid.NewGuid();
using (var context = new DummyContext())
{
context.Dummys.Add(dummy);
context.SaveChanges();
}
return dummy;
}