Entities vereinfacht (kein Entity Developer mehr)
This commit is contained in:
@@ -1,170 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// This is auto-generated code.
|
||||
//------------------------------------------------------------------------------
|
||||
// This code was generated by Entity Developer tool using EF Core template.
|
||||
// Code is generated on: 11.04.2022 17:16:51
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Internal;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using FoodsharingSiegen.Contracts.Entity;
|
||||
|
||||
namespace FoodsharingSiegen.Server.Data
|
||||
{
|
||||
|
||||
public partial class FsContext : DbContext
|
||||
{
|
||||
|
||||
public FsContext() :
|
||||
base()
|
||||
{
|
||||
OnCreated();
|
||||
}
|
||||
|
||||
public FsContext(DbContextOptions<FsContext> options) :
|
||||
base(options)
|
||||
{
|
||||
OnCreated();
|
||||
}
|
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
if (!optionsBuilder.IsConfigured ||
|
||||
(!optionsBuilder.Options.Extensions.OfType<RelationalOptionsExtension>().Any(ext => !string.IsNullOrEmpty(ext.ConnectionString) || ext.Connection != null) &&
|
||||
!optionsBuilder.Options.Extensions.Any(ext => !(ext is RelationalOptionsExtension) && !(ext is CoreOptionsExtension))))
|
||||
{
|
||||
}
|
||||
CustomizeConfiguration(ref optionsBuilder);
|
||||
base.OnConfiguring(optionsBuilder);
|
||||
}
|
||||
|
||||
partial void CustomizeConfiguration(ref DbContextOptionsBuilder optionsBuilder);
|
||||
|
||||
public virtual DbSet<User> Users
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public virtual DbSet<Prospect> Prospects
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public virtual DbSet<Interaction> Interactions
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
base.OnModelCreating(modelBuilder);
|
||||
|
||||
this.UserMapping(modelBuilder);
|
||||
this.CustomizeUserMapping(modelBuilder);
|
||||
|
||||
this.ProspectMapping(modelBuilder);
|
||||
this.CustomizeProspectMapping(modelBuilder);
|
||||
|
||||
this.InteractionMapping(modelBuilder);
|
||||
this.CustomizeInteractionMapping(modelBuilder);
|
||||
|
||||
RelationshipsMapping(modelBuilder);
|
||||
CustomizeMapping(ref modelBuilder);
|
||||
}
|
||||
|
||||
#region User Mapping
|
||||
|
||||
private void UserMapping(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<User>().ToTable(@"Users");
|
||||
modelBuilder.Entity<User>().Property(x => x.Id).HasColumnName(@"Id").IsRequired().ValueGeneratedOnAdd();
|
||||
modelBuilder.Entity<User>().Property(x => x.Mail).HasColumnName(@"Mail").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<User>().Property(x => x.Type).HasColumnName(@"Type").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<User>().Property(x => x.Verified).HasColumnName(@"Verified").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<User>().Property(x => x.Name).HasColumnName(@"Name").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<User>().Property(x => x.Created).HasColumnName(@"Created").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<User>().Property(x => x.EncryptedPassword).HasColumnName(@"EncryptedPassword").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<User>().Property(x => x.Groups).HasColumnName(@"Groups").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<User>().Property(x => x.ForceLogout).HasColumnName(@"ForceLogout").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<User>().HasKey(@"Id");
|
||||
}
|
||||
|
||||
partial void CustomizeUserMapping(ModelBuilder modelBuilder);
|
||||
|
||||
#endregion
|
||||
|
||||
#region Prospect Mapping
|
||||
|
||||
private void ProspectMapping(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<Prospect>().ToTable(@"Prospects");
|
||||
modelBuilder.Entity<Prospect>().Property(x => x.Id).HasColumnName(@"Id").IsRequired().ValueGeneratedOnAdd();
|
||||
modelBuilder.Entity<Prospect>().Property(x => x.FsId).HasColumnName(@"FsId").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<Prospect>().Property(x => x.Name).HasColumnName(@"Name").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<Prospect>().Property(x => x.Created).HasColumnName(@"Created").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<Prospect>().Property(x => x.Memo).HasColumnName(@"Memo").ValueGeneratedNever();
|
||||
modelBuilder.Entity<Prospect>().HasKey(@"Id");
|
||||
}
|
||||
|
||||
partial void CustomizeProspectMapping(ModelBuilder modelBuilder);
|
||||
|
||||
#endregion
|
||||
|
||||
#region Interaction Mapping
|
||||
|
||||
private void InteractionMapping(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<Interaction>().ToTable(@"Interactions");
|
||||
modelBuilder.Entity<Interaction>().Property(x => x.Id).HasColumnName(@"Id").IsRequired().ValueGeneratedOnAdd();
|
||||
modelBuilder.Entity<Interaction>().Property(x => x.UserId).HasColumnName(@"UserId").ValueGeneratedNever();
|
||||
modelBuilder.Entity<Interaction>().Property(x => x.Date).HasColumnName(@"Date").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<Interaction>().Property(x => x.Info).HasColumnName(@"Info").ValueGeneratedNever();
|
||||
modelBuilder.Entity<Interaction>().Property(x => x.Type).HasColumnName(@"Type").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<Interaction>().Property(x => x.ProspectId).HasColumnName(@"ProspectId").ValueGeneratedNever();
|
||||
modelBuilder.Entity<Interaction>().Property(x => x.Alert).HasColumnName(@"Alert").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<Interaction>().Property(x => x.NotNeeded).HasColumnName(@"NotNeeded").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<Interaction>().Property(x => x.Created).HasColumnName(@"Created").IsRequired().ValueGeneratedNever();
|
||||
modelBuilder.Entity<Interaction>().HasKey(@"Id");
|
||||
}
|
||||
|
||||
partial void CustomizeInteractionMapping(ModelBuilder modelBuilder);
|
||||
|
||||
#endregion
|
||||
|
||||
private void RelationshipsMapping(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<User>().HasMany(x => x.Interactions).WithOne(op => op.User).HasForeignKey(@"UserId").IsRequired(true);
|
||||
|
||||
modelBuilder.Entity<Prospect>().HasMany(x => x.Interactions).WithOne(op => op.Prospect).HasForeignKey(@"ProspectId").IsRequired(true);
|
||||
|
||||
modelBuilder.Entity<Interaction>().HasOne(x => x.User).WithMany(op => op.Interactions).HasForeignKey(@"UserId").IsRequired(true);
|
||||
modelBuilder.Entity<Interaction>().HasOne(x => x.Prospect).WithMany(op => op.Interactions).HasForeignKey(@"ProspectId").IsRequired(true);
|
||||
}
|
||||
|
||||
partial void CustomizeMapping(ref ModelBuilder modelBuilder);
|
||||
|
||||
public bool HasChanges()
|
||||
{
|
||||
return ChangeTracker.Entries().Any(e => e.State == Microsoft.EntityFrameworkCore.EntityState.Added || e.State == Microsoft.EntityFrameworkCore.EntityState.Modified || e.State == Microsoft.EntityFrameworkCore.EntityState.Deleted);
|
||||
}
|
||||
|
||||
partial void OnCreated();
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,99 @@
|
||||
namespace FoodsharingSiegen.Server.Data
|
||||
{
|
||||
using FoodsharingSiegen.Contracts.Entity;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
|
||||
public partial class FsContext
|
||||
namespace FoodsharingSiegen.Server.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The fs context class (a. beging, 21.05.2022)
|
||||
/// </summary>
|
||||
/// <seealso cref="DbContext"/>
|
||||
public class FsContext : DbContext
|
||||
{
|
||||
partial void OnCreated()
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the value of the interactions (ab)
|
||||
/// </summary>
|
||||
public DbSet<Interaction> Interactions { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the value of the prospects (ab)
|
||||
/// </summary>
|
||||
public DbSet<Prospect> Prospects { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the value of the users (ab)
|
||||
/// </summary>
|
||||
public DbSet<User> Users { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Setup/Teardown
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="FsContext"/> class
|
||||
/// </summary>
|
||||
public FsContext() :
|
||||
base()
|
||||
{
|
||||
Database.EnsureCreated();
|
||||
OnCreated();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="FsContext"/> class
|
||||
/// </summary>
|
||||
/// <param name="options">The options (ab)</param>
|
||||
public FsContext(DbContextOptions<FsContext> options) :
|
||||
base(options)
|
||||
{
|
||||
OnCreated();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Override OnConfiguring
|
||||
|
||||
/// <summary>
|
||||
/// Ons the configuring using the specified options builder (a. beging, 21.05.2022)
|
||||
/// </summary>
|
||||
/// <param name="optionsBuilder">The options builder</param>
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
if (!optionsBuilder.IsConfigured ||
|
||||
(!optionsBuilder.Options.Extensions.OfType<RelationalOptionsExtension>().Any(ext => !string.IsNullOrEmpty(ext.ConnectionString) || ext.Connection != null) &&
|
||||
!optionsBuilder.Options.Extensions.Any(ext => !(ext is RelationalOptionsExtension) && !(ext is CoreOptionsExtension))))
|
||||
{
|
||||
}
|
||||
|
||||
base.OnConfiguring(optionsBuilder);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Public Method HasChanges
|
||||
|
||||
/// <summary>
|
||||
/// Describes whether this instance has changes
|
||||
/// </summary>
|
||||
/// <returns>The bool</returns>
|
||||
public bool HasChanges()
|
||||
{
|
||||
return ChangeTracker.Entries().Any(e => e.State == Microsoft.EntityFrameworkCore.EntityState.Added || e.State == Microsoft.EntityFrameworkCore.EntityState.Modified || e.State == Microsoft.EntityFrameworkCore.EntityState.Deleted);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private Method OnCreated
|
||||
|
||||
/// <summary>
|
||||
/// Ons the created (a. beging, 21.05.2022)
|
||||
/// </summary>
|
||||
private void OnCreated()
|
||||
{
|
||||
// Database.EnsureCreated();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -31,10 +31,10 @@ namespace FoodsharingSiegen.Server.Data.Service
|
||||
{
|
||||
try
|
||||
{
|
||||
var targetProspect = await Context.Prospects.Include(x => x.Interactions).FirstOrDefaultAsync(x => x.Id == interaction.ProspectId);
|
||||
var targetProspect = await Context.Prospects.Include(x => x.Interactions).FirstOrDefaultAsync(x => x.Id == interaction.ProspectID);
|
||||
if (targetProspect == null) return new OperationResult<Interaction>(new Exception("Invalid prospect id"));
|
||||
|
||||
interaction.ProspectId = Guid.Empty;
|
||||
interaction.ProspectID = Guid.Empty;
|
||||
interaction.Created = DateTime.UtcNow;
|
||||
|
||||
targetProspect.Interactions.Add(interaction);
|
||||
|
||||
Reference in New Issue
Block a user