我的本地机器上有一个数据库。我有一个 C# 应用程序,它使用 LINQ to SQL 将记录插入到这个数据库中。我使用 SSMS(SQL Server Management Studio)打开了数据库(并在查询窗口中选择了记录)。现在,如果我尝试运行 C# 应用程序,我会收到以下错误:
“Cannot open user default database. Login failed. Login failed for user DFGV\G16570'.”
当我重新启动系统时,此错误消失。
注意:我使用的是 Integrated Security=True
注意:SQL Server 使用“LocalSystem”帐户运行
LINQ 中的连接字符串:
Data Source=.; AttachDbFilename=C:\DevTEST\Databases\LibraryReservationSystem.mdf;
Integrated Security=True; Connect Timeout=30;User Instance=True
注意:“用户实例”关键字
以下是我的 LINQ 查询:
public virtual void InsertOnSubmit(T entity)
{
GetTable().InsertOnSubmit(entity);
Context.SubmitChanges();
}
当我通过 SSMS 连接到数据库时,我应该怎么做才能使 LINQ 工作?
编辑
根据响应,我更改了代码,如下所示。
string connectionstring = "Data Source=.;Initial Catalog=LibraryReservationSystem;Integrated Security=True;Connect Timeout=30";
using (var context = new RepositoryLayer.LibraryManagementClassesDataContext(connectionstring))
{
RepositoryLayer.Repository<RepositoryLayer.Account> selectedRepository = new RepositoryLayer.Repository<RepositoryLayer.Account>();
selectedRepository.Context = context;
AccountBusiness accountBl = new AccountBusiness(selectedRepository);
//List<RepositoryLayer.Account> accountList = accountBl.GetAllAccounts();
accountBl.InsertAccounts();
}
注意:确保“用户实例”关键字未设置为 TRUE