欢迎光临

木子屋

标题: SQL Server数据库ADO.NET实体数据模型使用示例

作者: dnawo

日期: 2012-08-29 11:00 AM

分类: Win编程

内容: 一、添加SQL Server数据库ADO.NET实体数据模型
①.添加新项并选择"ADO.NET实体数据模型"：
②.选择从数据库生成模型：
③.设置数据库连接：
④.选择要在模型中包含的数据库对象，点击完成生成实体数据模型：
二、将存储过程转为函数
打开模型浏览器，右键点击需要使用的存储过程，在菜单中选择添加函数导入：
三、ADO.NET 实体数据模型使用示例
①.增加记录：
复制内容到剪贴板 程序代码using (NorthwindEntities northwind = new NorthwindEntities())
{
Categories entity = new Categories();
entity.CategoryName = "fruit";
entity.Description = "-";
northwind.Categories.AddObject(entity);
northwind.SaveChanges();
}
SQL Server Profiler跟踪结果：
引用内容exec sp_executesql N'insert [dbo].[Categories]([CategoryName], [Description], [Picture])
values (@0, @1, null)
select [CategoryID]
from [dbo].[Categories]
where @@ROWCOUNT > 0 and [CategoryID] = scope_identity()',N'@0 nvarchar(15),@1 nvarchar(max) ',@0=N'fruit',@1=N'-'
②.修改记录：
复制内容到剪贴板 程序代码using (NorthwindEntities northwind = new NorthwindEntities())
{
Categories entity = northwind.Categories.First(e => e.CategoryName == "fruit");
entity.Description = "fruit description.";
northwind.SaveChanges();
}
SQL Server Profiler跟踪结果：
引用内容exec sp_executesql N'update [dbo].[Categories]
set [Description] = @0
where ([CategoryID] = @1)
',N'@0 nvarchar(max) ,@1 int',@0=N'fruit description.',@1=24
说明：不是全部字段值提交到服务器，仅提交修改部分！
③.删除记录：
复制内容到剪贴板 程序代码using (NorthwindEntities northwind = new NorthwindEntities())
{
Categories entity = northwind.Categories.First(e => e.CategoryName == "fruit");
northwind.Categories.DeleteObject(entity);
northwind.SaveChanges();
}
SQL Server Profiler跟踪结果：
引用内容exec sp_executesql N'delete [dbo].[Categories]
where ([CategoryID] = @0)',N'@0 int',@0=24
④.查询记录：
复制内容到剪贴板 程序代码using (NorthwindEntities northwind = new NorthwindEntities())
{
var categories = northwind.Categories;
foreach (var item in categories)
Console.WriteLine("{0},{1}", item.CategoryName, item.Description);
}
SQL Server Profiler跟踪结果：
引用内容Select
[Extent1].[CategoryID] AS [CategoryID],
[Extent1].[CategoryName] AS [CategoryName],
[Extent1].[Description] AS [Description],
[Extent1].[Picture] AS [Picture]
FROM [dbo].[Categories] AS [Extent1]
⑤.调用存储过程：
复制内容到剪贴板 程序代码using (NorthwindEntities northwind = new NorthwindEntities())
{
var query = northwind.CustOrdersDetail(10284);
foreach (var item in query)
Console.WriteLine("{0},{1}", item.ProductName, item.ExtendedPrice);
}
SQL Server Profiler跟踪结果：
引用内容exec [dbo].[CustOrdersDetail] @OrderID=10284

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.660 ms

返回

标题: SQL Server数据库ADO.NET实体数据模型使用示例

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.660 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.678 ms

返回