123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- {#- This file can be edited -#}
- /**
- * This is a generated file. Do not edit, changes will be overwritten.
- */
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations.Schema;
- using System.Data;
- using Microsoft.EntityFrameworkCore;
- using Npgsql.EntityFrameworkCore.PostgreSQL;
- using WebApi.DataAccess.Models;
-
- namespace WebApi.DataAccess
- {
- public partial class DatabaseContext : DbContext
- {
- private readonly string _connectionString;
-
- public DatabaseContext(string connectionString)
- {
- _connectionString = connectionString;
- }
-
- public DatabaseContext(DbContextOptions options) : base(options)
- {
- }
-
- protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
- {
- if (_connectionString != null) {
- optionsBuilder.UseNpgsql(_connectionString);
- }
- }
-
- protected override void OnModelCreating(ModelBuilder modelBuilder)
- {
- modelBuilder.HasPostgresExtension("uuid-ossp");
- {% for table in dataSource.getTables() %}{% if (table.hasAny()) %}
- modelBuilder.Entity<{{ table.getName() | escapeReservedWords }}>().ToTable("{{ table.getName() | escapeString }}");
-
- {% for column in table.getColumns() %}{% if (column.isSelected()) %}
- modelBuilder.Entity<{{ table.getName() | escapeReservedWords }}>()
- .Property(e => e.{{ column.getName() | escapeReservedWords }})
- .HasColumnName("{{ column.getName() | escapeString }}");
- {% endif %}{% endfor %}
-
- modelBuilder.Entity<{{ table.getName() | escapeReservedWords }}>()
- .HasKey(c => new { {% for column in table.getPrimaryKeys() %}{% if (column.isSelected()) %}c.{{ column.getName() | escapeReservedWords }}{% if not (loop.last) %}, {% endif %}{% endif %}{% endfor %} });
-
- {% for column in table.getColumns() %}{% if (column.isSelected()) and (column.hasDefaultValue()) %}
- modelBuilder.Entity<{{ table.getName() | escapeReservedWords }}>()
- .Property(e => e.{{ column.getName() | escapeReservedWords }})
- .HasDefaultValueSql("{{ column.getDefaultValue() | escapeString }}");
- {% endif %}{% endfor %}
-
- {% for fk in table.getSourceForeignKeys() %}{% if (fk.isSelected()) %}
- modelBuilder.Entity<{{ fk.getSourceTable().getName() | escapeReservedWords }}>()
- .HasOne(e => e.{{ fk.getSourceForeignKeyName() | escapeReservedWords }})
- .WithMany(e => e.{{ fk.getTargetForeignKeyName() | escapeReservedWords }})
- .HasForeignKey(e => new { {% for column in fk.getSourceColumns() %}e.{{ column.getName | escapeReservedWords | escapeString }}{% if not (loop.last) %}, {% endif %}{% endfor %} })
- .HasConstraintName("{{ fk.getName() | escapeString }}");
- {% endif %}{% endfor %}
-
- {% endif %}{% endfor %}
- }
- {% for table in dataSource.getTables() %}{% if (table.hasAny()) %}
- public virtual DbSet<{{ table.getName() | escapeReservedWords }}> {{ table.getName() | escapeReservedWords }} { get; set; }
- {% endif %}{% endfor %}
-
- {% for sp in dataSource.getStoredProcedures() %}{% if (sp.isSelected()) %}
- public static {% if (sp.getType().getLanguageTypeName() == null) %}void{% else %}{{ sp.getType().getLanguageTypeName() }}{% endif %} {{ sp.getName() | escapeReservedWords }}({% for arg in sp.getArguments() %}{{ arg.getType().getLanguageTypeName() }} {{ arg.getName() | escapeReservedWords }}{% if not (loop.last) %}, {% endif %}{% endfor %})
- {
- throw new NotImplementedException();
- }
-
- public {% if (sp.getType().getLanguageTypeName() == null) %}void{% else %}{{ sp.getType().getLanguageTypeName() }}{% endif %} sp_{{ sp.getName() | escapeReservedWords }}({% for arg in sp.getArguments() %}{{ arg.getType().getLanguageTypeName() }} {{ arg.getName() | escapeReservedWords }}{% if not (loop.last) %}, {% endif %}{% endfor %})
- {
- using (var connection = Database.GetDbConnection()) {
- connection.Open();
-
- using (var command = connection.CreateCommand()) {
- command.CommandType = CommandType.StoredProcedure;
- command.CommandText = "{{ sp.getName() | escapeString }}";
- {% for arg in sp.getArguments() %}
- var arg_{{ arg.getName() }} = command.CreateParameter();
- arg_{{ arg.getName() }}.ParameterName = "{{ arg.getName() | escapeString }}";
- arg_{{ arg.getName() }}.Direction = ParameterDirection.Input;
- arg_{{ arg.getName() }}.Value = {{ arg.getName() | escapeReservedWords }};
- command.Parameters.Add(arg_{{ arg.getName() }});
- {% endfor %}
-
- using (var reader = command.ExecuteReader()) {
- {% if (sp.getType().isSetOf()) %}
- var value = new List<{{ sp.getType().getLanguageBaseTypeName() }}>();
- {% else %}
- var value = default({{ sp.getType().getLanguageTypeName() }});
- {% endif %}
-
- while (reader.Read()) {
- {% if ((sp.getType().getLanguageType() != null)) %}
- var item = new {{ sp.getType().getLanguageBaseTypeName() }}
- {
- {% for col in sp.getType().getLanguageType().getColumns() %}{{ col.getName() | escapeReservedWords }} = ({{ col.getType().getLanguageTypeName() }}) reader.GetValue({{ loop.index0 }}){% if not (loop.last) %},{% endif %}
- {% endfor %}
- };
- {% else %}
- var item = ({{ sp.getType().getLanguageBaseTypeName() }}) reader.GetValue(0);
- {% endif %}
- {% if (sp.getType().isSetOf()) %}
- value.Add(item);
- {% else %}
- value = item;
- {% endif %}
- }
-
- connection.Close();
-
- {% if (sp.getType().getLanguageTypeName() != null) %}
- return value;
- {% endif %}
- }
- }
- }
- }
- {% endif %}{% endfor %}
- }
- }
|