Тип или имя пространства имен "Столбец" не найдено

Я уверен, что мне здесь что-то не хватает. Я пытаюсь следовать учебному курсу Code First Entity Framework, в котором говорится, что я использую некоторые аннотации данных.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;

namespace Model
{
    public class Destination
    {
        public int DestinationId { get; set; }

        [Required]
        public string Name { get; set; }
        public string Country { get; set; }
        [MaxLength(500)]
        public string Description { get; set; }

        [Column(TypeName="image")]
        public byte Photo { get; set; }

        public List<Lodging> Lodgings { get; set; }
    }
}

У компилятора нет никаких проблем с первыми двумя аннотациями, но это не похоже на: [Column(TypeName="image")].

Ошибки:

  • Невозможно найти имя или имя пространства имен "Столбец".

  • Невозможно найти имя типа или пространства имен ColumnAttribute.

Я использую Visual Studio 2012 и Entity Framework 5.

Любые предложения?

Ответ 1

В Entity Framework 4.3.1, ColumnAttribute определяется в System.ComponentModel.DataAnnotations namspace, доступном в EntityFramework.dll. Поэтому, если у вас есть ссылка на эту dll и оператор using в пространство имен, вы должны быть в порядке.

В Entity Framework 5, находится в System.ComponentModel.DataAnnotations.Schema namspace, поэтому вам нужно добавить ссылку на это в свой класс.

using System.ComponentModel.DataAnnotations.Schema;

Вы можете прочитать более подробную информацию об этом здесь.