Ⅰ 简单的ASP.NET和linq语句,高分求具体解释!
我反而认为楼主要的是详细,或有针对地先阅读:
Lamda表达式的用法。
和反射的内容。
像 XXX.where() 这些以传递Lamda表达式来对集合操作的语法,不是简单得到此段代码的解释可以解决到。只能是先了解此函数的是对集合进行筛选,而筛选条件则是以Lamda表达式作为参数的形式传给Where函数。Where函数会对集合中的每个元素。以Lamda表达式指定的操作来判断留下合条件的部分。
如:return this.DBContext.tb_User.Where(t => t.flUserName == name).FirstOrDefault();
就是从tb_User表中筛选flUserName==name的所有User的记录,再返回第一条或默认(FirstOrDefault())。
解释函数的作用不难,但楼主地先要理解 t=>t.flUserName=name 这个Lamda表达式。它相当于一个接收 User对象做参数,返回布尔值的函数。而t就是这个函数的形式参数。
LinqTosql中保存一个对象就是调用DataContext中相应表对象的InsertOnSubmit方法,再调用DataContext里面的SaveChange()方法提交事务。
最尾的 DBContext.tb_User.FirstOrDefault( p =>p.flUserId==tb.flUserID);
就是利用扩展函数,查出相同ID的对象,再更新。
其中的 a.GetType().GetProperties() 则是利用反射,得到对象的所有属性PropertiInfo的集合,再循环进行赋值。达到更新对象的需求。
Ⅱ c#.net,linq to sql 更改数据库连接connectionstring
我感觉,只要配置文件中有连接字符串就够了,其他的地方最好别写,因为这样会写死的,网站一发布,后台代码就不能改了。但如果写在配置文件中,发布后不用改代码,就可以实现对连接字符串的修改。
Ⅲ .net c#代码求讲解 如图
前面的估计你已经全部都理解了,后面那里没有你的整体编码,
理解思路如下:
实例化一个处理数据的对象 bjhksjEntities 对象bjh
把上面实例化的users对象作为参数赋值给 上面的数据处理对象 bjh
数据处理对象bjh中的.Entry操作对于对象users的状态进行 枚举赋值-标识为修改状态(这里主要根据你的数据处理对象bjh来看的,你的bjh对象内部是写的什么我这里不知道。)
然后提交修改操作,获取返回受到影响的行数
Ⅳ 怎样在LinqtoSql中使用聚合函数
你如果是想要查数据的总行数的话,你用集合对象.count就行了如:List<string> jihe=new List<string>(jihe这是集合对象);jihe.Count就达到sql中count(*)的效果了
Ⅳ 关于LINQforNwind的示例
给你一个LinqToEF 的例子吧 希望能帮到你
配置文件(连接字符串):
<connectionStrings>
<add name="TempConStr" connectionString="Data Source = Address;DataBase = Temp;User Id = ??;Password =?? " /> --这个是LinqToSql 的链接字符串
<add name="TempEntities" connectionString="metadata=res://*/Models.Temp.csdl|res://*/Models.Temp.ssdl|res://*/Models.Temp.msl;provider=System.Data.SqlClient;provider connection string="data source=Address;initial catalog=Temp;user id=??;Password = woshiwei1;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> --这个是LinqToEF 的链接字符串
--数据模型 --可以用VS 自动生成
using System;
using System.Data.Linq.Mapping;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Data.EntityClient;
using System.ComponentModel;
using System.Xml.Serialization;
using System.Runtime.Serialization;
[assembly: EdmSchemaAttribute()]
#region EDM 关系源元数据
[assembly: EdmRelationshipAttribute("TempModel", "FK_Purchase_Customers", "Customer", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(SimpleMvc.Models.Customer), "Purchase", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(SimpleMvc.Models.Purchase), true)]
#endregion
namespace SimpleMvc.Models
{
#region 上下文
/// <summary>
/// 没有元数据文档可用。
/// </summary>
public partial class TempEntities1 : ObjectContext
{
#region 构造函数
/// <summary>
/// 请使用应用程序配置文件的“TempEntities1”部分中的连接字符串初始化新 TempEntities1 对象。
/// </summary>
public TempEntities1() : base("name=TempEntities1", "TempEntities1")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
/// <summary>
/// 初始化新的 TempEntities1 对象。
/// </summary>
public TempEntities1(string connectionString) : base(connectionString, "TempEntities1")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
/// <summary>
/// 初始化新的 TempEntities1 对象。
/// </summary>
public TempEntities1(EntityConnection connection) : base(connection, "TempEntities1")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
#endregion
#region 分部方法
partial void OnContextCreated();
#endregion
#region ObjectSet 属性
/// <summary>
/// 没有元数据文档可用。
/// </summary>
public ObjectSet<Customer> Customer
{
get
{
if ((_Customer == null))
{
_Customer = base.CreateObjectSet<Customer>("Customer");
}
return _Customer;
}
}
private ObjectSet<Customer> _Customer;
/// <summary>
/// 没有元数据文档可用。
/// </summary>
public ObjectSet<Purchase> Purchase
{
get
{
if ((_Purchase == null))
{
_Purchase = base.CreateObjectSet<Purchase>("Purchase");
}
return _Purchase;
}
}
private ObjectSet<Purchase> _Purchase;
#endregion
#region AddTo 方法
/// <summary>
/// 用于向 Customer EntitySet 添加新对象的方法,已弃用。请考虑改用关联的 ObjectSet<T> 属性的 .Add 方法。
/// </summary>
public void AddToCustomer(Customer customer)
{
base.AddObject("Customer", customer);
}
/// <summary>
/// 用于向 Purchase EntitySet 添加新对象的方法,已弃用。请考虑改用关联的 ObjectSet<T> 属性的 .Add 方法。
/// </summary>
public void AddToPurchase(Purchase purchase)
{
base.AddObject("Purchase", purchase);
}
#endregion
}
#endregion
#region 实体
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[EdmEntityTypeAttribute(NamespaceName="TempModel", Name="Customer")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
[Table]
public partial class Customer : EntityObject
{
#region 工厂方法
/// <summary>
/// 创建新的 Customer 对象。
/// </summary>
/// <param name="id">Id 属性的初始值。</param>
/// <param name="name">Name 属性的初始值。</param>
public static Customer CreateCustomer(global::System.Int32 id, global::System.String name)
{
Customer customer = new Customer();
customer.Id = id;
customer.Name = name;
return customer;
}
#endregion
#region 基元属性
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[DataMemberAttribute()]
[Column]
public global::System.Int32 Id
{
get
{
return _Id;
}
set
{
if (_Id != value)
{
OnIdChanging(value);
ReportPropertyChanging("Id");
_Id = StructuralObject.SetValidValue(value);
ReportPropertyChanged("Id");
OnIdChanged();
}
}
}
private global::System.Int32 _Id;
partial void OnIdChanging(global::System.Int32 value);
partial void OnIdChanged();
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
[DataMemberAttribute()]
[Column]
public global::System.String Name
{
get
{
return _Name;
}
set
{
OnNameChanging(value);
ReportPropertyChanging("Name");
_Name = StructuralObject.SetValidValue(value, false);
ReportPropertyChanged("Name");
OnNameChanged();
}
}
private global::System.String _Name;
partial void OnNameChanging(global::System.String value);
partial void OnNameChanged();
#endregion
#region 导航属性
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[XmlIgnoreAttribute()]
[SoapIgnoreAttribute()]
[DataMemberAttribute()]
[("TempModel", "FK_Purchase_Customers", "Purchase")]
public EntityCollection<Purchase> Purchase
{
get
{
return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Purchase>("TempModel.FK_Purchase_Customers", "Purchase");
}
set
{
if ((value != null))
{
((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Purchase>("TempModel.FK_Purchase_Customers", "Purchase", value);
}
}
}
#endregion
}
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[EdmEntityTypeAttribute(NamespaceName="TempModel", Name="Purchase")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class Purchase : EntityObject
{
#region 工厂方法
/// <summary>
/// 创建新的 Purchase 对象。
/// </summary>
/// <param name="id">Id 属性的初始值。</param>
/// <param name="customerId">CustomerId 属性的初始值。</param>
/// <param name="description">Description 属性的初始值。</param>
/// <param name="price">Price 属性的初始值。</param>
public static Purchase CreatePurchase(global::System.Int32 id, global::System.Int32 customerId, global::System.String description, global::System.Decimal price)
{
Purchase purchase = new Purchase();
purchase.Id = id;
purchase.CustomerId = customerId;
purchase.Description = description;
purchase.Price = price;
return purchase;
}
#endregion
#region 基元属性
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
[DataMemberAttribute()]
public global::System.Int32 Id
{
get
{
return _Id;
}
set
{
if (_Id != value)
{
OnIdChanging(value);
ReportPropertyChanging("Id");
_Id = StructuralObject.SetValidValue(value);
ReportPropertyChanged("Id");
OnIdChanged();
}
}
}
private global::System.Int32 _Id;
partial void OnIdChanging(global::System.Int32 value);
partial void OnIdChanged();
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
[DataMemberAttribute()]
public global::System.Int32 CustomerId
{
get
{
return _CustomerId;
}
set
{
OnCustomerIdChanging(value);
ReportPropertyChanging("CustomerId");
_CustomerId = StructuralObject.SetValidValue(value);
ReportPropertyChanged("CustomerId");
OnCustomerIdChanged();
}
}
private global::System.Int32 _CustomerId;
partial void OnCustomerIdChanging(global::System.Int32 value);
partial void OnCustomerIdChanged();
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
[DataMemberAttribute()]
public global::System.String Description
{
get
{
return _Description;
}
set
{
OnDescriptionChanging(value);
ReportPropertyChanging("Description");
_Description = StructuralObject.SetValidValue(value, false);
ReportPropertyChanged("Description");
OnDescriptionChanged();
}
}
private global::System.String _Description;
partial void OnDescriptionChanging(global::System.String value);
partial void OnDescriptionChanged();
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
[DataMemberAttribute()]
public global::System.Decimal Price
{
get
{
return _Price;
}
set
{
OnPriceChanging(value);
ReportPropertyChanging("Price");
_Price = StructuralObject.SetValidValue(value);
ReportPropertyChanged("Price");
OnPriceChanged();
}
}
private global::System.Decimal _Price;
partial void OnPriceChanging(global::System.Decimal value);
partial void OnPriceChanged();
#endregion
#region 导航属性
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[XmlIgnoreAttribute()]
[SoapIgnoreAttribute()]
[DataMemberAttribute()]
[("TempModel", "FK_Purchase_Customers", "Customer")]
public Customer Customer
{
get
{
return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Customer>("TempModel.FK_Purchase_Customers", "Customer").Value;
}
set
{
((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Customer>("TempModel.FK_Purchase_Customers", "Customer").Value = value;
}
}
/// <summary>
/// 没有元数据文档可用。
/// </summary>
[BrowsableAttribute(false)]
[DataMemberAttribute()]
public EntityReference<Customer> CustomerReference
{
get
{
return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Customer>("TempModel.FK_Purchase_Customers", "Customer");
}
set
{
if ((value != null))
{
((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Customer>("TempModel.FK_Purchase_Customers", "Customer", value);
}
}
}
#endregion
}
--封装强类型的 ObjectContext 用于操作对应的模型.
public class BaseDataContext : DataContext
{
public BaseDataContext(string fileOrServerOrConnection) : base(fileOrServerOrConnection)
{
}
public BaseDataContext(string fileOrServerOrConnection, MappingSource mapping)
: base(fileOrServerOrConnection, mapping)
{
}
public Table<Customer> Customers
{
get { return GetTable<Customer>(); }
}
public Table<Purchase> Purchases
{
get { return GetTable<Purchase>(); }
}
}
--这里是调用
var dataContext =
new BaseObjectContext(ConfigurationManager.ConnectionStrings["TempEntities"].ConnectionString);
var query = from c in dataContext.Customers
select new
{
c.Name,
Purchases = from p in dataContext.Purchases
where p.CustomerId == c.Id && p.Price > 1000
select new {p.Description, p.Price}
};
Ⅵ C#数据库入门经典的C# 2008数据库入门经典(第4版)
作者:阿格沃尔 , 哈德莱斯顿
翻译:沈洁 , 杨华
出版社: 清华大学出版社; 第4版 (2009年3月1日)
平装: 373页
正文语种: 汉语
开本: 16
ISBN: 7302196281, 9787302196280
条形码: 9787302196280
产品尺寸及重量: 25.8 x 18.2 x 1.8 cm ; 662 g 《C# 2008数据库入门经典(第4版) 》着重介绍了使用C# 2008作为开发工具,与最新发布的Visual Studio 2008及.NET Framework 3.5一起访问数据库。《C# 2008数据库入门经典(第4版)》介绍了使用SQL Server 2005进行数据库编程的所有知识,将数据“拉”到使用C# 2008开发的应用程序中。在学习《C# 2008数据库入门经典(第4版)》的过程中,通过创建“试一试”部分的示例应用程序,可以实践所学的知识。它将帮助您将所学内容应用于实际应用程序中。“示例说明”解释了示例应用程序的每个代
码语句以帮助您进行理解。作者希望您不仅能够掌握C# 2008的知识,还能够学到SQLServer 2005的知识。《C# 2008数据库入门经典(第4版)》介绍了相当多的数据库概念,包括基本知识、SQL Server 2005的T-SQL新功能。《C# 2008数据库入门经典(第4版)》将帮助您逐步提升代码编写能力,所以我们将从简单的主题讲起,逐步过渡到复杂主题。首先介绍基本应用程序开发,然后是LINQ和ADO.NET 3.5的概念,以及使用它们构建应用程序。
作者相信《C# 2008数据库入门经典(第4版)》能有助于您提高数据库应用开发的能力。 作者:(美国)阿格沃尔 (美国)哈德莱斯顿 译者:沈洁 杨华
idya Vrat Agarwal,是一位纯Microsoft NET主义者,拥有MCT、MCPD、MCTS、MCSD.NET、MCAD.NET和MCSD等认证,他在莱博智科技(Lionbridge Technologies公司工作。同时,又是印度计算机科学院的终身会员。他最初从事Microsoft.NET测试版本的工作,之后涉足软件开发、技术推广、技术顾问、公司培训的工作和为不同客户开发基于Microsoft.NET的T3项目。可以在www. Programmers Heaven Com上阅读到他的文章。他还在www. U Certify com上对.NET Preparation Kits作了评论。 第1章 开发工具
1.1 获取VisualStudio2008
1.2 安装
1.3 安装Northwind样本数据库
1.3.1 安装Northwind创建脚本
1.3.2 创建Northwind样本数据库
1.4 安装AdventureWorks样本数据库
1.4.1 安装AdventureWorks创建脚本
1.4.2 创建AdventureWorks样本数据库
1.5 小结
第2章 使用开发工具
2.1 不同版本Microsoft.NETFramework与代码库模型
2.2 使用MicrosoftVisualStudio2008
2.3 使用
2.4 小结
第3章 理解关系数据库
3.1 数据库的概念
3.2 电子数据表和数据库的选择
3.3 使用数据库的原因
3.4 使用关系型数据库管理系统的优势
3.5 桌面RDBMS和服务器RDBMS的比较
3.5.1 桌面数据库
3.5.2 服务器数据库
3.6 数据库的生命周期
3.7 映射基数
3.8 键的理解
3.8.1 主键
3.8.2 外键
3.9 理解数据完整性
3.9.1 实体完整性
3.9.2 引用完整性
3.1 0规范化概念
3.1 1规范化的缺陷
3.1 2小结
第4章 编写数据库查询
4.1 比较QBE与SQL
4.2 查询
4.3 通用表表达式
4.4 GROUPBY子句
4.5 PIVOT运算符
4.6 ROW_NUMBER()函数
4.7 PARTITIONBY子句
4.8 模式匹配
4.9 合计函数
4.1 0DATETIME日期函数
4.1 1连接
4.1 1.1 内连接
4.1 1.2 外连接
4.1 1.3 其他连接
4.1 2小结
第5章 操纵数据库数据
5.1 检索数据
5.1.1 使用WHERE子句
5.1.2 数据排序
5.2 使用SELECTINTO语句
5.3 插入数据
5.4 更新数据
5.5 删除数据
5.6 小结
第6章 使用存储过程
6.1 创建存储过程
6.2 修改存储过程
6.3 显示存储过程的定义
6.4 重命名存储过程
6.5 在C#中使用存储过程
6.6 删除存储过程
6.7 小结
第7章 使用XML
7.1 XML的定义
7.2 选择XML的原因
7.3 将数据存储为XML格式的好处
7.4 理解XML文档
7.5 理解XML声明
7.6 将关系型数据转换为XML
7.6.1 使用FORXMLRAW模式
7.6.2 使用FORXMLAUTO
7.7 使用xml数据类型
7.8 小结
第8章 了解事务
8.1 事务的概念
8.2 何时使用事务
8.3 理解ACID属性
8.4 事务设计
8.5 事务状态
8.6 指定事务界限
8.7 在事务中允许使用的T-SQL语句
8.8 SQLServer2005中的本地事务
8.9 SQLServer2005中的分布式事务
8.1 0编写高效事务的准则
8.1 1如何编写事务
8.1 1.1 在T-SQL中编写事务
8.1 1.2 在ADO.NET中编写事务
8.1 2小结
第9章 ADO.NET简介
9.1 了解ADO.NET
9.2 开发ADO.NET的原因
9.3 从ADO到ADO.NET
9.3.1 ADO.NET并非ADO的新版本
9.3.2 ADO.NET和.NET基类库
9.4 理解ADO.NET体系结构
9.5 使用SQLServer数据提供程序
9.6 使用OLEDB数据提供程序
9.7 使用ODBC数据提供程序
9.8 数据提供程序是API
9.9 小结
第10章 创建连接
10.1 数据提供程序连接类概述
10.2 使用SqlConnection连接到SQLServerExpress
10.2.1 调试到SQLServer的连接
10.2.2 SqlConnection中的安全与口令
10.2.3 使用SQLServer安全机制
10.2.4 SqlConnection中的连接字符串参数
10.2.5 连接池
10.3 连接对象的进阶用法
10.3.1 在连接构造函数中使用连接字符串
10.3.2 显示连接信息
10.4 用OleDbConnection连接到SSE
10.5 小结
第11章 执行命令
11.1 创建命令
11.1.1 关联命令与连接
11.1.2 设置Command对象的文本
11.2 执行命令
11.3 执行具有多个结果的命令
11.4 执行语句
11.5 命令参数
11.6 小结
第12章 数据读取器
12.1 数据读取器概述
12.1.1 使用序数索引器
12.1.2 使用列名索引器
12.1.3 使用类型访问器方法
12.2 获取数据的信息
12.3 获取表的数据
12.4 使用数据读取器处理多个结果集
12.5 小结
第13章 使用数据集和数据适配器
13.1 理解对象模型
13.1.1 数据集与数据读取器
13.1.2 数据集概述
13.1.3 数据适配器概述
13.1.4 DataTable、DataColumn和DataRow对象概述
13.2 使用数据集和数据适配器
13.2.1 数据集的筛选和排序
13.2.2 比较FilterSort和PopDataSet
13.2.3 使用数据视图
13.2.4 修改数据集中的数据
13.3 将变化保存到数据源中
13.4 并发
13.5 使用数据集和XML
13.6 在没有数据集的情况下使用数据表
13.7 理解有类型和无类型的数据集
13.8 小结
第14章 构建WindowsForms应用程序
14.1 理解WindowsForms
14.2 用户界面设计原则
14.3 用户界面设计的最佳实践
14.4 利用WindowsForms
14.5 理解设计视图和代码视图
14.6 属性窗口中的排序属性
14.6.1 分类视图
14.6.2 按字母顺序排列的视图
14.7 设置解决方案、项目和WindowsForms属性
14.8 利用控件
14.9 设置Dock和Anchor属性
14.9.1 Dock属性
14.9.2 Anchor属性
14.1 0为项目添加新窗体
14.1 1实现MDI窗体
14.1 2小结
第15章 构建ASP.NET应用程序
15.1 理解Web功能
15.1.1 Web服务器
15.1.2 Web浏览器和HTTP
15.2 ASP.NET和Web页面概述
15.3 理解VisualStudio2008
Web站点类型
15.3.1 文件系统Web站点
15.3.2 FTPWeb站点
15.3.3 HTTPWeb站点
15.4 ASP.NETWeb站点布局
15.4.1 Web页面
15.4.2 应用程序文件夹
15.4.3 Web.config文件
15.5 使用Master页面
15.6 小结
第16章 处理异常
16.1 处理ADO.NET异常
16.2 处理数据库异常
16.3 小结
第17章 处理事件
17.1 理解事件
17.2 事件的属性
17.3 设计事件
17.4 控件引发的通用事件
17.5 事件生成器和使用者
17.6 小结1
第18章 使用文本和二进制数据
18.1 理解SQLServer文本和二进制数据类型
18.2 在数据库中存储图像
18.3 从数据库中检索图像
18.4 处理文本数据
18.5 小结
第19章 使用LINQ
19.1 LINQ概述
19.2 LINQ的体系结构
19.3 LINQ的项目结构
19.4 使用LINQtoObjects
19.5 使用LINQtoSQL
19.6 使用LINQtoXML
19.7 小结
第20章 使用ADO.NET3.5
20.1 理解ADO.NET3.5 EntityFramework
20.2 理解实体数据模型
20.3 利用实体数据模型
20.4 小结 由于大多数实际应用程序都要与存储在关系数据库中的数据进行交互,因此每个C#程序员需要知道如何访问数据。本书主要介绍了如何使用C#2008与SQL Server 2005交互。还介绍了.NET Framework 3.5最令人激动的功能LINQ和ADO.NET 3.5。相比于纯数据库概念的书来说,本书阐明数据库概念的章节将能更好地帮助您理解。本书还涉及了SQL Server 2005中的很多T-SQL新功能。
本书采用的编写方式是编程新手容易理解的,而编程高手也能从本书受益。如果您想要使用Visual Studio 2008创建数据库应用程序,那么本书就非常适合您。本书不但介绍了应用程序开发人员可能使用的所有概念,还讲解了在示例程序中使用的每一行代码。
本书采用的组织方式是先帮助您打下牢固的基础,然后进一步学习高级技能。
本书读者对象
如果您是一位喜欢使用C#语言访问数据库的应用程序开发人员,那本书非常适合您,因为它介绍了使用C#2008进行SQL Server 2005编程。
本书不要求读者事先了解C#2.0、SQL Server 2000和数据库的概念。本书已经包含了其他书籍要求读者学前需具备的所有基础知识。
本书是任何想使用C#2008与数据库进行交互的应用程序开发人员所应必备的。如果您就是其中一员,那本书将是您不可或缺的。本书内容简介
本书包含了Visual Studio 2008、SQL Server 2005、C#2008、LINQ和ADO.NET 3.5等内容。所有这些主题都是以章的形式出现,并使用了不同的概念和代码示例作了解释。本书中的应用程序都是模仿了现实生活中的应用程序,因此通过对本书的学习,您可以在工作中利用这些概念。
Ⅶ linq如何设置连接数据库的字符串
你用的是LinqToSql吧?在db = new NewDBDataContext(“指定的链接字符串”);这是使用有一个参数的构造函数,或者看无参的构造函数:
public NewDBDataContext() : base(global::NewGasgoo.AutoRepost.Properties.Settings.Default.DBConnectionString, mappingSource)
{
OnCreated();
}
看这个NewGasgoo.AutoRepost.Properties.Settings.Default.DBConnectionString的定义:
public string DBConnectionString {
get {
return ((string)(this["DBConnectionString8"]));
}
}
这个值就是Setting里的配置链接。
你可以将这个Return 修改为自己的配置,比如ConfigurationManager.AppSettings["DBString"],
也可以直接修改Setting配置。不过我比较推荐db = new NewDBDataContext(“指定的链接字符串”)。因为如果重新托表, return ((string)(this["DBConnectionString8"]));就会自动变的。