2016-02-25 3 views
0

У меня есть следующий код:Как изменить имя столбца базы данных с помощью Fluent API

public abstract class Entity 
{ 
    public virtual int Id { get; set; } 
} 

public class Category : Entity 
{ 
    public string Name { get; set; } 
    public virtual ICollection<Category> Children { get; set; } 
    public virtual ICollection<Item> Items { get; set; } 
} 

public class Item : Entity 
{ 
    public string Name { get; set; } 
    public decimal Price { get; set; } 
    public DateTime DateCreated { get; set; } 
    public virtual Category Category { get; set; } 
} 

Синтаксис

modelBuilder.Entity<Category>().Property(x => x.Children).HasColumnName("CategoryID"); 

дает мне Тяжесть Код Описание проекта Line File Ошибка CS0453 типа 'ICollection' должен быть недействительным типом значения, чтобы использовать его в качестве параметра «Т» в общем типе или методе «Структурный тип конфигурации». Expression>)

Вопрос: Как Я могу изменить имя столбца базы данных через Fluent API?

ответ

0

Сбор сам не может быть сопоставлен с одной колонкой. Вам следует направить это сообщение в ассоциацию «один ко многим»:

modelBuilder.Entity<Category>() 
      .HasMany(c => c.Children) 
      .WithOptional() 
      .Map(m => m.MapKey("CategoryID")); 

 Смежные вопросы

  • Нет связанных вопросов^_^