ASP .NET MVC Entity Framework в чем ошибка и как исправить?

Имеется следующий код в ASP .NET
public class Area // Район
    {

        [Key]
        public int AreaId { get; set; }

        public string Name { get; set; }

        [ForeignKey("RegionId")]
        public Region RegionId { get; set; }

        public byte[] Map { get; set; }
    }

public class Region // Область
    {

        [Key]
        public int RegionId { get; set; }

        public string Name { get; set; }

        public byte[] Map { get; set; }
    }

public class EFDbContext : DbContext
    {
        public DbSet<Area> Areas { get; set; }
        public DbSet<Region> Regions { get; set; }
    }

при сборке имею ошибку
The ForeignKeyAttribute on property 'RegionId' on type 'UkraineColleges.Domain.Entities.Area' is not valid. The foreign key name 'RegionId' was not found on the dependent type 'UkraineColleges.Domain.Entities.Area'. The Name value should be a comma separated list of foreign key property names.

Есть готовая база данных в папке App_Data, пытаюсь ее подключить
С Entity Framework работаю впервые, ASP .Net раньше использовал, но вместо базы данных было вручную созданное хранилище данных
До этого были ошибки тоже, но перечитывая источники по EF заменял одни ошибки другими, а здесь замену найти уже не могу...
Помогите кто знает и если можете, дайте пару советов с моделью Code-First, кто работал с EF
  • Вопрос задан
  • 644 просмотра
Решения вопроса 1
andrewpianykh
@andrewpianykh
В Вашем случаем можно упростить код и обойтись без указания атрибутов:

public class Area // Район
{
	public int Id { get; set; }
	public string Name { get; set; }
	public int RegionId { get; set; }		
	public virtual Region Region {get; set;}
	public byte[] Map { get; set; }
}

public class Region // Область
{
	public int Id { get; set; }
	public string Name { get; set; }
	public byte[] Map { get; set; }
}


иначе:

public class Area // Район
{
	[Key]
	public int AreaId { get; set; }
	public string Name { get; set; }
	public int RegionId { get; set; }	
	[ForeignKey("RegionId")] 	
	public virtual Region Region {get; set;}
	public byte[] Map { get; set; }
}

public class Region // Область
{
	[Key]
	public int RegionId { get; set; }
	public string Name { get; set; }
	public byte[] Map { get; set; }
}


Подробнее
www.entityframeworktutorial.net/code-first/foreign...
https://msdn.microsoft.com/ru-ru/data/gg193958.aspx
andrey.moveax.ru/post/mvc3-in-depth-entity-framewo...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
[ForeignKey("RegionId")]
        public Region RegionId { get; set; }
----------------

    [ForeignKey("RegionId")]
        public int  RegionId { get; set; }
public Region Region { get; set; }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы