Linq to SQL intellisense不知道datacontext对象中的表
我可以使用datacontext对象成功连接到数据库。我能够成功地读写数据库,但是我不能使用其他人似乎正在使用的相同语法 例如,当我需要表中的数据时,我必须执行以下操作:Linq to SQL intellisense不知道datacontext对象中的表,sql,linq,linq-to-sql,datacontext,Sql,Linq,Linq To Sql,Datacontext,我可以使用datacontext对象成功连接到数据库。我能够成功地读写数据库,但是我不能使用其他人似乎正在使用的相同语法 例如,当我需要表中的数据时,我必须执行以下操作: db = new UserDataDataContext(WebConfigurationManager.ConnectionStrings["UserData"].ConnectionString); IQueryable Users = db.GetTable<User>(); 但intellisense不将用
db = new UserDataDataContext(WebConfigurationManager.ConnectionStrings["UserData"].ConnectionString);
IQueryable Users = db.GetTable<User>();
但intellisense不将用户识别为db的属性,因此不会编译。Intellisense不显示任何看起来与数据库的表或实体相关的属性
以下是我收到的错误消息:
'System.Data.Linq.DataContext' does not contain a definition for 'User' and no extension method 'User' accepting a first argument of type 'System.Data.Linq.DataContext' could be found (are you missing a using directive or an assembly reference?)
下面是我正在做的事情的概述:
我使用了数据库设计器,拖动了我想要的表
然后我将其保存为dbml文件
然后它为我创建了扩展dataContext的新类,名为UserDataContext。然后,我实例化一个名为db的UserDataContext的新实例,从Web.config传入连接字符串
然后,我尝试编写一个linq查询,引用表名作为db对象的属性,但它无法识别它们
与我读过的所有例子相比,我似乎找不到我做错了什么。有什么想法吗?我肯定您在某个地方有以下变量声明:
// variable is of type System.Data.Linq.DataContext
DataContext db;
将其更改为:
// variable is now of the appropriate subclass's type
UserDataDataContext db;
如果db
是一个局部变量,并且您可以将初始化和声明内联在一起,那么最好使用隐式类型:
// db is implicitly of type UserDataDataContext
var db = new UserDataDataContext(WebConfigurationManager.ConnectionStrings["UserData"].ConnectionString);
C#是一种安全的静态类型语言。尽管您的引用引用的对象在运行时确实会具有您期望的属性,但编译器不会让该对象编译,因为变量的类型上不存在这些属性
// db is implicitly of type UserDataDataContext
var db = new UserDataDataContext(WebConfigurationManager.ConnectionStrings["UserData"].ConnectionString);