У меня есть существующая база данных PostgreSQL, и я хочу создать модель для таблицы вручную, потому что леса не работают. Почему запуск db.CDRs.First();
вызывает исключение?
Program.cs:
...
using (var db = new Model.CDRContext())
{
var cdr = db.CDRs.First(); // Exception has occurred here
}
...
CDRContext.cs:
...
public class CDRContext : DbContext
{
public DbSet<CallDataRecord> CDRs { get; set; }
string DB_SERVER = "127.0.0.1";
string USER = "x";
string PASSWORD = "x";
string DATABASE = "x";
int PORT = 3306;
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
=> optionsBuilder.UseNpgsql($"Host={DB_SERVER};Username={USER}; Port={PORT};Password={PASSWORD};Database={DATABASE};");
}
...
Это подробное исключение из отладки окно консоли:
Необработанное исключение. Npg sql .PostgresException (0x80004005): 42P01: отношение "CDR" не существует в Npg sql .NpgsqlConnector. <> C__DisplayClass160_0. d.MoveNext () --- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение --- в Npg sql .NpgsqlConnector. <> c__DisplayClass160_0. d.MoveNext () --- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение --- в Npg sql .NpgsqlDataReader.NextResult (Boolean asyn c, Boolean isConsuming) в Npg sql .NpgsqlDataReader.NextResult () в Npg sql .NpgsqlCommand.ExecuteReaderAsyn c (поведение CommandBehavior, логическое асинхронное c, CancellationToken cancellationToken) в Npg sql .NpgsqlCommand.ExecuteReader (поведение CommandBehavior) в Npg *. Поведение CommandBehavior) в System.Data.Common.DbCommand.ExecuteReader () в Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader (RelationalCommandParameterObject параметрObject) в Microsoft.EntityFrameworkCore.Query.330. 1014 * 1.Enumerator.MoveNext () в System.Linq.Enumerable.Single [TSource] (источник IEnumerable 1 source)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.Execute[TResult](Expression expression)
at System.Linq.Queryable.First[TSource](IQueryable
1) в EFGetStarted.Program.Main (String [] args) в c: \ Development \ EFGetStarted \ Program.cs: строка 17 Данные об исключении: Серьезность: ERROR SqlState: 42P01 MessageText: отношение "CDRs" не существует Позиция: 45 Файл: parse_relation. c Строка: 894 Подпрограмма: parserOpenTable