Entity Framework 6: сопоставить сложный тип с несколькими столбцами - PullRequest
0 голосов
/ 29 января 2019

У меня проблема с Entity Framework (6, а не Core).Я уже попробовал несколько вещей и погуглил, но не могу понять, поэтому спрашиваю здесь.

Вот моя db-схема:

CREATE TABLE MyItem
(
    [Id] int IDENTITY(1,1) NOT NULL,
    [Name] varchar(100) NOT NULL,
    [Start] date NOT NULL,
    [End] date NOT NULL
)

И это мои занятия:

public class MyItem
{
    public int Id { get; set; }
    public string Name { get; set; }
    public MyTimespan IsValidTimespan { get; set; }
}

public class MyTimespan
{
    public DateTime Start { get; set; }
    public DateTime End { get; set; }
}

Я хочу отобразить

  • значение из «MyItem.IsValidTimespan.Start» в столбце «Пуск»
  • значение из «MyItem».IsValidTimespan.Ende "к столбцу" Ende "

Я уже пробовал разные вещи с Атрибутами в классе MyTimespan (" ComplexType "и" Column "), а также некоторые хаки с помощью modelBuilder, ничего не помогло.

Как мне заставить это работать?

Спасибо и наилучшими пожеланиями, Алекс

1 Ответ

0 голосов
/ 29 января 2019

Хорошо, я понял.Код, который я разместил выше, не на 100% корректен: в свойствах MyTimespan не было сеттеров.Следующие изменения в «MyTimespan» сделали это:

  1. добавление аннотаций, упомянутых в моем вопросе
  2. добавление частных сеттеров в свойства
  3. добавление частного конструктора по умолчанию
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...