您的位置:首页 > 数据库

Linq to SQL 简单增删改查

2014-08-31 12:45 387 查看
用Linq大大减少了对数据库的一般操作所需的编码量。
运行下面事例之前,首先建一个叫做Alien的数据库表。

CREATE TABLE [dbo].[Aliens](
[Id] [int] IDENTITY(1,1) NOT NULL primary key,
[Name] [nchar](10) NULL,
)

建一个console项目,在项目里添加一个Linq To Sql类文件(.dbml以及两个附属文件),把Alien表从服务器资源管理器拖进来。然后就可以运行下面的代码了:

示例代码
using System;
using System.Linq;

namespace LearnLinqToSql
{
class Program
{
static void Main(string[] args)
{
ForLearnDataContext db = new ForLearnDataContext();
db.Log = Console.Out;

// Insert
Alien et = new Alien { Name = "ET" };
db.Alien.InsertOnSubmit(et);
db.SubmitChanges();

// Update
Alien toChange = db.Alien.Where(a => a.Name == "ET").First();
toChange.Name = "DC";
db.SubmitChanges();

// Delete
Alien dc = db.Alien.Where(a => a.Name == "DC").First();
db.Alien.DeleteOnSubmit(et);
db.SubmitChanges();

Console.WriteLine(et.GetHashCode());
Console.WriteLine(toChange.GetHashCode());
Console.WriteLine(dc.GetHashCode());
db.Alien.InsertOnSubmit(et); // Error: Cannot add an entity that already exists.
}
}
}

通过上面示例可以感觉到,运行环境默默在本地维护了一套对象,在数据库端指向的是同一条记录,则在代码这端就是指向同一个实体的引用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: