其他信息: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
代码:program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using DemoEntity;
namespace DemoExecuteQuery1
{
class Program
{
static void Main(string[] args)
{
AddressBookDataContext abc = new AddressBookDataContext();
//利用ExecuteQuery方法使用SQL命令查询
var rows = abc.ExecuteQuery<AddressBookEntity>("select * from TabAddressBook where ab_age>{0}", 10);
foreach (var item in rows)
{
Console.WriteLine("{0}的电话为:{1}", item.Name, item.TelephoneNumber);
}
Console.ReadKey();
}
}
}
AddressBookDataContext.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq.Mapping;
using System.Data.Linq;
namespace DemoEntity
{
//使用databaseAttribute映射数据库
[DatabaseAttribute(Name="DBAddressBook")]
public class AddressBookDataContext:DataContext
{
private const string CONNSTR = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + "\"" + @"C:\Users\DUAN\Documents\Visual Studio 2012\Projects\123\123\123\DBAddressBook,mdf" + "\"" + @";Integrated Security=True;User Instance=True";
public AddressBookDataContext()
: base(CONNSTR)
{
}
public Table<AddressBookEntity> TabAddressBook { get { return this.GetTable<AddressBookEntity>(); } }
}
}
AddressBookEntity.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq.Mapping;
namespace DemoEntity
{
//使用TableAttribute映射表格
[Table(Name="AddressBook")]
public class AddressBookEntity
{
//使用ColumnAttribute映射列
[Column(AutoSync = AutoSync.OnInsert, DbType = "BigInt NOT NULL IDENTITY", IsDbGenerated = true, Name = "ab_id")]
public long ID { get; set; }
[Column(DbType = "varchar(10) NOT NULL", Name = "ab_name", CanBeNull = false)]
public string Name { get; set; }
[Column(Name = "ab_dub", DbType = "Varchar(50) NOT NULL")]
public string Duty { get; set; }
[Column(Name = "ab_sex", DbType = "Varchar(4) NOT NULL", CanBeNull = false)]
public string Sex { get; set; }
[Column(Name = "ab_age", DbType = "TinyInt")]
public System.Nullable<byte> Age { get; set; } //代表一个可以指定为Null的值类型,值类型本身不能为空,但 是引用类型本身可空
[Column(Name = "ab_address", DbType = "Varchar(200)")]
public string Address { get; set; }
[Column(Name = "ab_com", DbType = "Varchar(200)")]
public string Company { get; set; }
[Column(Name = "ab_tel", DbType = "Text", UpdateCheck = UpdateCheck.Never)]
public string TelephoneNumber { get; set; }
}
}
这关LINQ啥事了?你不会看看Connection里面的ConnectionString对了吗?
应该是CONNSTR 这个有错误的。
private const string CONNSTR = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + "\"" + @"C:\Users\DUAN\Documents\Visual Studio 2012\Projects\123\123\123\DBAddressBook,mdf" + "\"" + @";Integrated Security=True;User Instance=True
这写法很奇怪 查下数据库实例 这样是否能正常访问