锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / C#开源英语 / ADO.NET实体框架完善和基本多层技术实例翻译
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

锐英源精品开源心得,转载请注明:“锐英源www.wisestudy.cn,孙老师作品,电话13803810136。”需要全文内容也请联系孙老师。

英文原文

介绍

此示例演示在有层次架构的ASP.NET应用中如何使用实体框架。这对小而快的应用非常有用。代码使用select、 update、 create 和 delete功能。与本例子可以和存储过程配套使用,也可以不配套。此示例面向EF新人。
触动我实现ASP.NET的实体框架概念,想法虽小,但我直面困难,解决了不少问题才得到本文的结果。首先处理的context是复杂的,它在内存中创建一些对象,另一方面,我不得不把要处理的对象发送下。不需要存储实体框架是一个关键,否则错误就层出不穷了。

数据库

首先查看数据库的结构。这个例子使用两个表,即Customers 和Category 。Customers 和Category有关系。
数据库的结构

项目

该项目有三个层次的结构。业务层包含项目实体,该项目的组件,另外还有数据层和表示层。
项目
业务层包含两个项目,项目一是Solution.Bussines.Entities。它包含相同的表结构和,它也是数据库结构的映射。
该模型和ADO.NET实体数据模型具有相同的数据库结构。
模型
customer 表和存储过程有关系。
表和存储过程
注意到面向delCustomer的关系,这一点很重要,你只需要ID来实现删除,但引用表是实体框架需要的。
下一个Customers 类扩展了ADO.NET实体数据模型生成的模型,ADO.NET实体数据模型使用CategoryReference来加载Customer 的Category,加载代码如下:

this.CategoryReference.Load();
这种形式很容易获得一个引用另一个类的类,也可以显示在网格中使用。
public partial class Customers
public const string EntitySetName = "Customers";
[Browsable(false)]
public string CategoryName
{
get 
{
string res = "";
if (this.Category != null)
{ 
res = this.Category.Name; 
}
else if (this.CategoryReference != null)
{
this.CategoryReference.Load();
if (this.Category != null)
{ 
res = this.Category.Name; 
}
}
return res;
}
set 
{
this.CategoryReference.EntityKey =
new EntityKey("CustomersEntities.Category", "CategoryId", value);
}
}                
在接下来的代码片段扩展了类实体或最好用context来调用类,让类有一个单例模式,且能解决创建多实例情况下不能完全关闭的问题,这些问题在使用using或dispose时会出现。
public static CustomersEntities Context
{
get 
{
string objectContextKey = HttpContext.Current.GetHashCode().ToString("x");
if (!HttpContext.Current.Items.Contains(objectContextKey))
{
HttpContext.Current.Items.Add(objectContextKey, new CustomersEntities());
}
return HttpContext.Current.Items[objectContextKey] as CustomersEntities;
}
}                 

业务层

Solution.Bussines.Components层管理的业务逻辑和连接数据层到实体层。
这层由类CustomersComponent.cs组成,这个文件里调用数据层。在这里你可以添加更多的业务逻辑代码。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内