定义实体类,Linq to SQL 将类直接映射到数据库中的表
数据库中定义表tb_user,有列userid, name, password
创建类User1.cs:
//右击项目名,添加System.Data.Linq的引用
using System.Data.Linq;
using System.Data.Linq.Mapping;
//如果没有TableName,默认类名就是表名
[Table(Name = "tb_user")]
public class User1
{
//如果没有ColumnName,默认属性名就是列名
[Column(IsPrimaryKey = true, CanBeNull = false)]
public string UserID { get; set; }
[Column(CanBeNull = false)]
public string Name { set; get; }
//不需要把数据库表中所有列名都写下来
//[Column]
//public string Password { set; get; }
}
创建页面Test.aspx
SqlConnection conn = new SqlConnection("Data Source = .\\SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=true");
DataContext db = new DataContext(conn);
Table<User1> user = db.GetTable<User1>();
var userQuery = from u in user select u;
foreach (var u in user) {
Response.Write(u.UserID + " " + u.Name + "<br/>");
}SqlConnection conn = new SqlConnection("Data Source = .\\SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=true");
DataContext db = new DataContext(conn);
Table<User1> user = db.GetTable<User1>();
var userQuery = from u in user select u; //user.Select(u=>u);
//如果只需要表中的一行数据,可以用扩展方法Single。如果lambda表达式标识的不是恰好一行会出错
User1 uTang2 = user.Single(u => u.Name == "tang2");
foreach (var u in user)
Response.Write(u.UserID + " " + u.Name + "<br/>");<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>