Я использую Linq to SQL в проекте ASP.NET MVC3 с представлениями Razor.
Кажется, что мои объекты L2S работают нормально в коде контроллера / модели;Я могу ссылаться и работать с коллекциями дочерних классов для моих связанных объектов.Тем не менее, я не могу сделать это в моих взглядах Razor.Intellisense распознает коллекцию дочерних классов:
Model.ChildObjects
Но он не может обеспечить завершение кода для самого объекта ChildObjects
.Попытка использовать коллекцию как коллекцию следующим образом:
foreach(var item in Model.ChildObjects)
приводит к следующей встроенной ошибке в редакторе:
foreach statement cannot operate on variables of type
System.Data.Linq.EntitySet<ChildObjectType> because
System.Data.Linq.EntitySet<ChildObjectType> does not
contain a public definition for 'GetEnumerator'
Кажется, что-то не так с тем, на что ссылаютсяс точки зрения бритвы.Когда я пытаюсь использовать код, подобный этому:
@Model.ChildObjects.Count()
я получаю эту ошибку компиляции при выполнении:
The type 'System.Data.Linq.EntitySet`1<T0>' is defined in an assembly that is
not referenced. You must add a reference to assembly
'System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Я ничего не изменил в файлах web.config
для проекта.Я недавно обновил свой Windows 7 до SP1 и обновил свой NuGet ... но я не уверен, что там будет что-то связанное.