首先要引用两个命名空间:
using System.Data.Linq.Mapping;
using System.Data.Linq;
//右击“引用”选择“添加引用”
/* * DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调 * 用方和把实体的修改写入数据库。 * DataContext提供了以下一些使用的功能: * 以日志形式记录DataContext生成的SQL * 执行SQL(包括查询和更新语句) * 创建和删除数据库 * DataContext是实体和数据库之间的桥梁,那么首先我们需要定义映射到数据表的实体。 */
然后定义实体类
注:Column后面括号内的Name要和表里面的字段是一样的,不然会报错:列名 'xxxxxx' 无效。
[Table(name="Opers")] public class Oper { [Column(IsPrimaryKey=true)] public int ID { get; set; } [Column(Name="LoginName")] public string LoginName { get; set; } [Column(Name="TrueName")] public string TrueName { get; set; } }
下面就是应用了:
static void Main(string[] args) { DataContext dct = new DataContext("Data Source=.;Initial Catalog=Book;Integrated Security=True"); /*通过这一步,数据库里面的表就映射到了实体类里面*/ Table<Oper> _oper = dct.GetTable<Oper>(); var list = _oper.Select(name => new { name.ID,name.LoginName,name.TrueName}); foreach (var item in list) { Console.Write(">> {0} ",item.ID); Console.Write(">> {0} ", item.LoginName); Console.WriteLine(">> {0}", item.TrueName); } Console.ReadKey(true); }
下面赋上本实例用到的表结构:
ID int identity(1,1)
LoginName varchar(20)
TrueName varchar(20)