Datagridview listig мое свойство сущности навигации, которое не должно быть перечислено - PullRequest
0 голосов
/ 05 февраля 2019

Я пытался решить эту проблему на прошлой неделе.Я переустанавливал Windows и Visual Studio с нуля и все еще получал ту же проблему.

это мой класс сущности продукта ниже

namespace Example.Entitiy.Concrete
{
    public class Product: IEntity
    {
        //one to many relationship between product and category classes
        public int ProductId { get; set; }
        public string ProductName { get; set; }
        public int CategoryId { get; set; }

        public   Category CurrentCategory { get; set; }
    }
}

это моя сущность категории ниже.

namespace Example.Entitiy.Concrete
{
    public class Category : IEntity
    {
        public int CategoryId { get; set; }
        public string CategoryName { get; set; }
        public  ICollection<Product> Products { get; set; }
    }
}

и вот мой контекстный класс, где я использовал свободный API.

namespace Example.DataAccess.Concrete.EntityFramework.EFBase
{
    public class ExampleDataContext: DbContext
    {
        public DbSet<Product> Products { get; set; }
        public DbSet<Category> Categories { get; set; }

        public ExampleDataContext()
        {
            this.Configuration.LazyLoadingEnabled = false;
            Database.SetInitializer(new DropCreateDatabaseIfModelChanges<ExampleDataContext>());
        }


        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.Entity<Product>().HasRequired<Category>(p => p.CurrentCategory).WithMany(c => c.Products).HasForeignKey<int>(p => p.CategoryId);
        }
    }
}

Мне пришлось отключить lazyloading, потому что, если я включаю его, то программа выдает ошибку при перечислении свойства навигации, которое я не перечислю в моем Datagridview.

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

это снимок экрана

Если вы хотите увидеть весь мойКоды программ, вот они на Github

...