#c# #linq #entity-framework
#c# #linq #entity-framework
Вопрос:
У меня есть System.Data.Linq
в ссылках, а также включено как пространство имен, но в моем контексте базы данных нет GetTable
метода. Этого просто нет, что бы я ни делал.
Это проект MVC5 на .NET 4.5.1 с Entity Framework 6.
У кого-нибудь есть идеи, почему это может происходить?
Ответ №1:
Я думаю, вы ищете Set<TEntity>()
Комментарии:
1. Действительно, это так. Похоже, EF6 реализует Set вместо GetTable, который, я полагаю, предназначен для LINQ to SQL?
2. Да, действительно, GetTable берется из DataContext, когда EF полагается на ObjectContext
Ответ №2:
Для других, кто, возможно, ищет, как вернуть отсутствующий метод GetTable<TEntity>() для Linq в SQL:
Сначала вы должны добавить ссылку на System.Data.Linq.dll
ваш проект.
Функция GetTable<TEntity>() является расширением Linq, поэтому вы должны фактически импортировать расширения Linq, добавив:
using System.Linq;
в ваш файл кода.
Комментарии:
1. Я просто добавил это для дополнительной информации, потому что это был лучший результат поиска Google «datacontext.gettable отсутствует»