我不明白为什么这个查询中的“dbo”
var searchUser = from user in dbo.Accounts
where user.accnt_user == txtUser.Text &&
user.accnt_pass == txtPassword.Text
select user;
显示此错误
“当前上下文中不存在名称'dbo'”
但是当我删除“dbo”这个词时,它会显示我的错误
当前上下文中不存在名称帐户。
这是我的表
在我的DataClasssesContext里面我有这个
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Accounts")]
public partial class Account : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private int _accnt_ID;
private string _accnt_User;
private string _accnt_Pass;
private string _accnt_Position;
#region Extensibility Method Definitions
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void Onaccnt_IDChanging(int value);
partial void Onaccnt_IDChanged();
partial void Onaccnt_UserChanging(string value);
partial void Onaccnt_UserChanged();
partial void Onaccnt_PassChanging(string value);
partial void Onaccnt_PassChanged();
partial void Onaccnt_PositionChanging(string value);
partial void Onaccnt_PositionChanged();
#endregion
public Account()
{
OnCreated();
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_accnt_ID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public int accnt_ID
{
get
{
return this._accnt_ID;
}
set
{
if ((this._accnt_ID != value))
{
this.Onaccnt_IDChanging(value);
this.SendPropertyChanging();
this._accnt_ID = value;
this.SendPropertyChanged("accnt_ID");
this.Onaccnt_IDChanged();
}
}
}
我没有在datacontext中发布我的所有代码,因为它很长。
答案 0 :(得分:5)
该错误正好告诉您需要知道的内容,名称dbo
不存在。不存在可在该代码行访问的变量,字段或静态类,因此编译器告诉您该名称在当前上下文中不存在。
例如,给定此类和方法定义
class Foo
{
public void Frob()
{
Console.WriteLine(bar); // bar does not exist!
}
}
bar
既不引用局部变量也不引用类字段,并且会导致您观察到相同的错误。
关于您的特定代码,您对该问题的评论表明您拥有DataClasses1DataContext
类的实例。这很可能是您在查询中需要使用的内容。
using (var myDbContext = new DataClasses1DataContext())
{
var query = from user in myDbContext.Accounts
where user.Blah == whatever
select user;
// use query results
}