Я разрабатываю приложение в веб-приложениях razor (asp .netcore) и формирую таблицы db с помощью efcore.
Я выполнил db-scaffold для своей таблицы данных OnlineForms, который создал мой OnlineForms.cs Класс. Когда я непосредственно помещаю атрибут [key] поверх свойства formid в этом классе, я могу без проблем сохранять данные в таблице.
Но когда я перемещаю аннотацию данных [key] в частичный класс OnlineFormsValidation, который ссылается на OnlineForms через атрибут [ModelMetadataType], и я пытаюсь сохранить данные; Я получаю сообщение об ошибке: «Тип сущности OnlineForm требует определения первичного ключа».
Аннотации Required корректно работают внутри класса OnlineFormsValidation, а аннотация [Key] - нет. 1008 * Заранее благодарю. Любая помощь будет принята с благодарностью.
OnlineForm.cs:
namespace VehicleTakeHomeApp.Data.Models
{
public partial class OnlineForm {
[Key] <== works if i put it here, but I want to move it to OnlineFormValidation.cs
public int FormId { get; set; }
public string EmployeeId { get; set; }
public string Name { get; set; }
}
}
OnlineFormValidation.cs:
using Microsoft.AspNetCore.Mvc;
using System.ComponentModel.DataAnnotations;
namespace VehicleTakeHomeApp.Data.Models
{
[ModelMetadataType(typeof(OnlineFormValidation))]
public partial class OnlineForm
{
}
public class OnlineFormValidation
{
[Key] <== this annotation is not getting picked up, even though the Required annotations below it get picked up.
public int FormId { get; set; }
[Required(ErrorMessage = "Employee ID is required.")]
public string EmployeeId { get; set; }
[Required(ErrorMessage = "Name is required.")]
public string Name { get; set; }
}
}