EF Core и DDD с составными ключами в базе данныхC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 EF Core и DDD с составными ключами в базе данных

Сообщение Anonymous »

Я пытаюсь настроить ядро ​​EF для своих сущностей, в базе данных у меня есть таблица



Колуна
Типо



InspectionId
int
< /tr>

QuestionGroup
varchar

Вопрос
varchar


Ответ
varchar


Наблюдение
varchar


CreatedAt
datetime



Где у меня есть составной ключ с InspectionId, QuestionGroup, Вопросом, Ответом.
Я пытался создать свою сущность как

Код: Выделить всё

public class Checklist
{
public Checklist(ChecklistId id, string observation, int userId, DateTime createdAt)
{
Id = id;
CreatedAt = createdAt;
Observation = observation;
UserId = userId;
}

public ChecklistId Id { get; set; }

public string Observation { get; set; }

public int UserId { get; set; }

public DateTime CreatedAt { get; set; }
}

Код: Выделить всё

public class ChecklistId
{
public ChecklistId(int inspectionId, string questionGroup, string question, string answer)
{
InspectionId = inspectionId;
QuestionGroup = questionGroup;
Question = question;
Answer = answer;
}

public int InspectionId { get; set; }

public string QuestionGroup { get; set; }

public string Question { get; set; }

public string Answer { get; set; }

}
Как настроить EF Core для поддержки этого объекта?
Я пробовал использовать эту конфигурацию, но не получилось:

Код: Выделить всё

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);

modelBuilder.Entity(entity =>
{
entity.HasKey(e => new { e.Id.InspectionId, e,Id.QuestionGroup, e.Id.Question,    e.Id.Answer });

entity.OwnsOne(e => e.Id, id =>
{
id.Property(i => i.InspectionId).HasColumnName("InspectionId");
id.Property(i => i.QuestionGroup).HasColumnName("QuestionGroup");
id.Property(i => i.Question).HasColumnName("Question");
id.Property(i => i.Answer).HasColumnName("Answer");
});

... others properties

});
}
Проект, созданный с использованием
.NET 8 и
SqlServer 2008
Я не могу изменить базу данных, чтобы таблица имела уникальный id как Guid, можно ли настроить EF Core с помощью составных ключей, используя идентификаторы на стороне домена?

Подробнее здесь: https://stackoverflow.com/questions/790 ... n-database
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»