#linq #linq-to-sql #frameworks #entity-framework-4 #linq-to-entities
#linq #linq-to-sql #фреймворки #entity-framework-4 #linq-to-entities
Вопрос:
при попытке запросить мою базу данных с помощью entityframework я получаю следующую ошибку: свойство навигации типа ‘System.Коллекции.Общий.IEnumerable 1[[TASK.Warehouses.Domain.NoteProducts.NoteProduct, TASK.Warehouses.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' is not a single implementation of 'System.Collections.Generic.ICollection
1[T]’. в чем может быть проблема и как я могу ее исправить
Ответ №1:
Вы написали классы с кодом, которые имеют IEnumerable<T>
свойства навигации.
Entity Framework требует, чтобы ваши свойства навигации были типа ICollection<T>
.
Комментарии:
1. ♦: В чем разница? Почему он должен работать с ICollection, а не с IEnumerable? У меня был проект, в котором я использовал только IEnumerable, и он работал отлично. Можете ли вы объяснить?
Ответ №2:
Похоже, у вас много классов с именем «ЗАДАЧА.Склады.Домен.Примечанияпродукты.NoteProduct, , ЗАДАЧА.Склады.Домен]. Если это так, вы путаете CLR с нарушениями OO.
Комментарии:
1. Нет; это общие имена типов CLR.