【发布时间】:2012-02-24 04:39:00
【问题描述】:
我不明白为什么这个查询中的“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();
}
}
}
我没有在数据上下文中发布我的所有代码,因为它很长。
【问题讨论】:
-
您是否在当前方法或类中声明了一个名为
dbo的变量或字段?因为错误告诉你你没有。 -
喜欢这个? DataClasses1DataContext myDbContext = new DataClasses1DataContext(dbPath);
-
离题,但我担心您可能会将密码作为纯文本存储在数据库中。这不是特别安全。帮自己一个忙,研究安全存储技术。
-
@Anthony Pegram,我不知道你介意推荐哪些技术?
-
一种常用的技术是使用盐进行散列,在这些条件下做一些 Google/StackOverflow searches。例如,还有 membership providers 可以在 ASP.NET 中为您完成繁重的工作。
标签: c# .net linq linq-to-sql datacontext