Хранение System.Version в базе данных с помощью Entity Framework Code FirstC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Хранение System.Version в базе данных с помощью Entity Framework Code First

Сообщение Anonymous »

У меня есть база данных, созданная с использованием кода Entity Framework 6.1. Во-первых, у меня есть одна конкретная таблица, с которой у меня возникают проблемы.

У меня есть таблица под названием «Манифесты», определение объекта приведено ниже

public class Manifest
{
public int Id { get; set; }
public DateTime ReleaseDate { get; set; }
public int VersionMajor { get; set; }
public int VersionMinor { get; set; }
public int VersionBuild { get; set; }
public int VersionRevision { get; set; }
public Version Version
{
get
{
return new Version(this.VersionMajor, this.VersionMinor, this.VersionBuild, this.VersionRevision);
}

set
{
this.VersionMajor = value.Major;
this.VersionMinor = value.Minor;
this.VersionBuild = value.Build;
this.VersionRevision = value.Revision;
}
}
public string ReleaseNotes { get; set; }
public bool IsCompulsory { get; set; }
public string Description { get; set; }
public string UpdatePackage { get; set; }
}


Вы заметите, что у меня определено свойство, которое является System.Version и будет хранить версию манифеста, однако, когда я запускаю add-migration в в консоли диспетчера пакетов результирующая миграция не включает столбец «Версия». Я попытался установить modelBuilder.ComplexType() в OnModelCreating, но безрезультатно, пожалуйста, помогите?

Как предложено Я изменил определение объекта (см. выше), но теперь получаю сообщение об ошибке при запуске начального числа, см. ниже:

System.Data.Entity.Core.EntityCommandCompilationException: An error occurred while preparing the command definition. See the inner exception for details. ---> System.Data.Entity.Core.MappingException:
(6,10) : error 3004: Problem in mapping fragments starting at line 6:No mapping specified for properties Manifest.Version in Set Manifests.
An Entity with Key (PK) will not round-trip when:
Entity is type [Drogo.Meera.Data.Context.Manifest]


Метод семени имеет следующее:

context.Manifests.AddOrUpdate(
p => p.Version,
new Manifest
{
Description = "Initial Release",
VersionMajor = 1,
VersionMinor = 0,
VersionBuild = 0,
IsCompulsory = true,
ReleaseDate = DateTime.Now,
ReleaseNotes = "Initial Release",
UpdatePackage = @"v1-0-0\v1-0-0.zip"
});
context.SaveChanges();


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка ASP.NET Code-First (Entity Framework) в базе данных обновления
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Отношения «один-к-одному» и «один-ко-многим» в Entity Framework 5 Code First
    Anonymous » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Entity Framework 8.0.7 DB First Scaffold-DbContext база данных с настраиваемым пространством имен
    Anonymous » » в форуме C#
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Entity Framework Core 8.0.7 База данных DB-first Scaffold-DbContext с настраиваемым пространством имен
    Anonymous » » в форуме C#
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • В чем разница между it.first и it->first?
    Anonymous » » в форуме C++
    0 Ответы
    62 Просмотры
    Последнее сообщение Anonymous

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