В настоящее время я пытаюсь создать базовое веб-приложение ASP. NET с Visual Studio 2019. Цель приложений - отобразить все данные, к которым был получен доступ из базы данных localdb, которую я импортировал. Приложение должно правильно выводить всю информацию в таблицу, и пользователь должен иметь возможность создавать новую запись, редактировать, удалять, а также просматривать сведения об одной отдельной записи на другом экране.
Ошибка, которую я получаю при попытке загрузить приложение, следующая:
SqlException: Неверное имя столбца 'EmployeeID1'.
Следующий снимок экрана - это структура базы данных, из которой я пытаюсь получить данные:
Структура базы данных
Этот снимок экрана представляет собой структуру файла:
Структура файла
Вот как я пытаюсь отобразить информацию в таблице:
Код
При загрузке приложения отображается следующая ошибка:
SqlException: недопустимое имя столбца 'EmployeeID1'.
System.Data.SqlClient.SqlCommand + <> c .b__122_0 (результат задачи)
System.Threading.Tasks.ContinuationResultTaskFromResultTask.InnerInvoke ()
System.Threading.ExecutionContext.RunInternal (обратный вызов ExecutionContext, ContextCallback, SystemCallback. Task.ExecuteW ithThreadLocal (ref Task currentTaskSlot)
Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsyn c (соединение IRelationalConnection, параметр DbCommandMethod executeMethod, параметр IReadOnlyDictionaryWegnynEqEgnEQuNeQuNeQuenen.ExoNecure.Exe .BufferlessMoveNext (DbContext , буфер bool, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsyn c (операция TState, Fun), состояние 1060 * verifySucceeded, CancellationToken CancellationToken) * * Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable тысячу тридцать-девять + AsyncEnumerator.MoveNext (CancellationToken CancellationToken) System.Linq.AsyncEnumerable + SelectEnumerableAsyncIterator.MoveNextCore (CancellationToken CancellationToken) System.Linq.AsyncEnumerable + AsyncIterator.MoveNext (CancellationToken CancellationToken ) Microsoft. EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider + ExceptionInterceptor + EnumeratorExceptionInterceptor.MoveNext (CancellationToken cancellationToken) System.Linq.AsyncEnumerable. .IndexModel.OnGetAsyn c () в Index.cs html .cs -
//public IList<Employee> Employee { get; set; }
public IList<Employee> Employees { get;set; }
public async Task OnGetAsync()
{
Employees = await _context.Employees.ToListAsync();
}
}
}
Microsoft.AspNetCore.Mvc.RazorPages.Internal.ExecutorFactory+NonGenericTaskHandlerMethod.Execute(object receiver, object[] arguments)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.InvokeHandlerMethodAsync()
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.InvokeNextPageFilterAsync()
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.Rethrow(PageHandlerExecutedContext context)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.InvokeInnerFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
Основное сообщение, которое мне было сказано, заключается в том, что ошибка заключается в следующем коде :
Employees = await _context.Employees.ToListAsync();
Следующий код - это то, что у меня есть для моего файла Employee.cs в папке Models:
using System;
using System.Collections.Generic;
namespace WebApp2.Models
{
public class Employee
{
public int EmployeeID { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public string Title { get; set; }
public string TitleOfCourtesy { get; set; }
public DateTime BirthDate { get; set; }
public DateTime HireDate { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string PostalCode { get; set; }
public string Country { get; set; }
public string HomePhone { get; set; }
public string Extension { get; set; }
public string Notes { get; set; }
public int ReportsTo { get; set; }
public string PhotoPath { get; set; }
public ICollection<Employee> Employees { get; set; }
}
}
Этот следующий код - то, что у меня сейчас есть для моего index.cs html .cs файл. Ошибка исходит из последней строки кода этого кода:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.EntityFrameworkCore;
using WebApp2.Models;
namespace WebApp2
{
public class IndexModel : PageModel
{
private readonly WebApp2.Models.Northwind _context;
public IndexModel(WebApp2.Models.Northwind context)
{
_context = context;
}
//public IList<Employee> Employee { get; set; }
public IList<Employee> Employees { get;set; }
public async Task OnGetAsync()
{
Employees = await _context.Employees.ToListAsync();
}
}
}
Я только новичок в этом и не очень понимаю, почему это происходит, поэтому любая помощь приветствуется. В отношении этой проблемы есть некоторые ответы на stackoverflow, но из ответов я не был полностью уверен, как приспособить его к моей ситуации. Я надеюсь, что дал достаточно подробностей относительно того, почему это может происходить. Если нет, пожалуйста, попросите дополнительную информацию, и я могу сообщить вам. Спасибо.