Связь с использованием кода в первую очередь с существующей базой данных - PullRequest
0 голосов
/ 29 сентября 2011

При определении отношения между двумя типами важно включить свойство навигации в оба типа , например, в следующем примере:

    public class Product
    {
        public int ProductId { get; set; }
        public string Name { get; set; }
        public Category Category { get; set; }
    }

    public class Category
    {
        public int CategoryId { get; set; }
        public string Name { get; set; }
        public ICollection<Product> Products { get; set; }
    }

Можно ли обойтись без включения свойства навигации в категорию?

1 Ответ

1 голос
/ 29 сентября 2011

Если вы просто хотите, чтобы это определялось в соответствии с первым соглашением о коде, тогда да, вам нужны оба с обеих сторон. Я бы также сделал коллекцию «виртуальной» для поддержки отложенной загрузки.

Вы можете настроить его, используя свободную конфигурацию при сборке модели. Было бы что-то вроде этого

modelBuilder.Entity<Product>()
    .HasMany(x => x.Category) 
...