易采站长站为您分析C#操作LINQ to SQL组件进行数据库建模的基本教程,LINQ to SQL被集成在.NET框架之中,需要的朋友可以参考下
建立实体类
使用LINQ to SQL时,需要首先建立用于映射数据库对象的模型,也就是实体类。在运行时,LINQ to SQL 根据LINQ表达式或查询运算符生成SQL语句,发送到数据库进行操作。数据库返回后,LINQ to SQL负责将结果转换成实体类对象。
建立实体类的方法有很多,例如LINQ to SQL设计器,手动编码建立,使用XML文件映射,使用命令行工具SqlMetal生成等。其中最方便的就是LINQ to SQL设计器。
1.使用LINQ to SQL设计器建立实体类
在一个示例用的Demo控制台程序中添加一个“基于服务的数据库”Database1.mdf,建立一张tb_GuestInfo的表。该表的详细如下:
下面的所有建立方式,都用的这个数据库。
在项目中添加一个LINQ to SQL类,采用默认的名称DataClasses1.dbml,如下:
将tb_GuestInfo表拖到界面上,保存。
OK,编写相关代码如下,实现增删改查:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LINQ_To_SQL自定义数据库和实体类
{
/// <summary>
/// 实体类的建立___1.VS建立实体类
/// </summary>
class Program
{
static void Main(string[] args)
{
//
DataClasses1DataContext dc = new DataClasses1DataContext();
//1.查询
IQueryable<tb_GuestInfo> query = from p in dc.tb_GuestInfo
where p.Name != "XXX"
select p;
foreach (var g in query)
{
Console.WriteLine("{0} {1} {2} {3}",g.Id,g.Name,g.Age ,g.Tel );
}
Console.WriteLine("-----------------");
Console.ReadKey(false);
//2.增加一条记录
tb_GuestInfo gInfo = new tb_GuestInfo() { Id = 9, Name = "M&M", Age = 40, Tel = "135****5555" };
dc.tb_GuestInfo.InsertOnSubmit(gInfo);
dc.SubmitChanges();
foreach (var g in query)
{
Console.WriteLine("{0} {1} {2} {3}",g.Id , g.Name, g.Age, g.Tel);
}
Console.WriteLine("-----------------");
Console.ReadKey(false);
//3.删除
var query_itemToDelete = from g in dc.tb_GuestInfo
where g.Name == "M&M"
select g;
foreach (var g in query_itemToDelete)
{
dc.tb_GuestInfo.DeleteOnSubmit(g);
}
dc.SubmitChanges();
foreach (var g in query)
{
Console.WriteLine("{0} {1} {2} {3}", g.Id, g.Name, g.Age, g.Tel);
}
Console.WriteLine("-----------------");
Console.ReadKey(false);
//4.修改
var query_itemToUpdate = from g in dc.tb_GuestInfo
where g.Name.Contains("DebugLZQ")
select g;
foreach (var g in query_itemToUpdate)
{
g.Name = g.Name + "A";
}
dc.SubmitChanges();
foreach (var g in query)
{
Console.WriteLine("{0} {1} {2} {3}", g.Id, g.Name, g.Age, g.Tel);
}
Console.WriteLine("-----------------");
Console.ReadKey(false);
}
}
}













