前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EntityFramework数据持久化复习资料1、委托

EntityFramework数据持久化复习资料1、委托

作者头像
红目香薰
发布2023-02-25 10:55:28
2990
发布2023-02-25 10:55:28
举报
文章被收录于专栏:CSDNToQQCode

EntityFramework数据持久化复习资料1、委托


目录

EntityFramework数据持久化复习资料1、委托

前言

开发环境

委托的概述与声明

一般委托示例

委托实例化

实现委托函数

使用委托

多播委托示例

声明多播委托

多播委托实例化

实现多播委托函数

多播委托的使用

总结


前言

微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。开发人员使用Linq语言,对数据库操作如同操作Object对象 一样省事。EF有三种使用场景,1. 从数据库生成Class,2.由实体类生成数据库表结构,3.通过数据库可视化设计器设计数据库,同时生成实体类。 ORM (对象关系型映射)是将数据存储从域对象自动映射到关系型数据库的工具。ORM主要包括3个部分:域对象、关系数据库对象、映射关系。ORM使类提供自动化CRUD,使 开发人员从数据库API和SQL中解放出来。以前是使用ADO.NET来进行对数据库中得数据表进行操作,现在,使用ORM直接对对象进行操作,操作对象就等于操作数据库表, 那怎么让对象和数据库表一一对应起来?这个过程就是通过ORM框架来完成的,操作对象就是操作数据库也是通过ORM来完成的。ORM框架就是做对象和数据库的映射的。 那么EntityFramework的作用是什么? 我的理解就是大大简化数据库操作的,举个例子:在没有使用EF前,我们要编写复杂的SQL语句,而使用了EF之后,将会减少编写复杂的SQL语句过程。

开发环境

系统环境:win7及以上,本示例环境win11 开发工具:Visual Studio 2017及以上 创建项目:控制台应用(.NET Framework) 数据库:SQLServer数据库2012及以上版本


委托的概述与声明

概述

委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。 可以通过委托实例调用方法。也可以使用委托将方法作为参数传递给其他方法。 委托的使用将大大提高程序的可扩展性。

声明方法

委托声明决定了可由该委托引用的方法。委托可指向一个与其具有相同签名的方法:

public delegate <return type> <delegate-name> <parameter list>

其中:

<return type>为返回类型 <delegate-name>委托名 <parameter list>参数列表

一般委托示例

public delegate string TranslationDelegate (string s);

委托实例化

TranslationDelegate transform=new TranslationDelegate(TestFun);

实现委托函数

代码语言:javascript
复制
/// <summary>
/// 实例化参数
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static string TestFun(string name) {
    return name + ":早上好!";
}

使用委托

代码语言:javascript
复制
//委托实例化
TranslationDelegate transform = new TranslationDelegate(TestFun);
//使用委托
string msg = transform.Invoke("王语嫣");
Console.WriteLine(msg);
string msg1 = transform.Invoke("龙姑娘");
Console.WriteLine(msg1);

输出效果:

多播委托示例

        委托对象有一个好用的属性,可以通过使用“+”运算符将多个对象分配到一个委托实例上,形成多播委托。多播委托包含已分配的委托列表,因此多播委托被调用时会依次调用列表中的委托。但是多播委托仅可合并类型相同的委托。使用“-”运算符可以从多播委托中删除组件委托。

例如:我们赵灵儿变身后陪着逍遥哥哥打怪兽。

声明多播委托

代码语言:javascript
复制
/// <summary>
/// 声明多播委托
/// </summary>
/// <param name="name"></param>
delegate void Operation(string name);

多播委托实例化

代码语言:javascript
复制
//多播委托实例化
Operation operation = new Operation(Change);

实现多播委托函数

代码语言:javascript
复制
public static void Change(string name)
{
    Console.WriteLine(name + ":在变身!");
}
public static void Fight(string name)
{
    Console.WriteLine(name + ":正在配逍遥哥哥打怪兽!");
}

多播委托的使用

代码语言:javascript
复制
//多播委托实例化
Operation operation = new Operation(Change);
//累加使用
operation += new Operation(Fight);
//参数传递
operation.Invoke("赵灵儿");

执行效果

总结

委托的使用将大大提高程序的可扩展性,让我们使用的时候可以更加的灵活。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • EntityFramework数据持久化复习资料1、委托
  • 前言
  • 开发环境
  • 委托的概述与声明
  • 一般委托示例
  • 委托实例化
  • 实现委托函数
  • 使用委托
  • 多播委托示例
  • 声明多播委托
  • 多播委托实例化
  • 实现多播委托函数
  • 多播委托的使用
  • 总结
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档