L I N Q

EntityFramework 数据持久化

第二章 LINQ 语句


一、LINQ 查询语法

1.LINQ 语法编写:from 数据源 in 数据表 where 条件 select 数据源

LINQ 关键字
from范围,来自哪个数据源
where从数据源筛选数据的条件
select从数据源查询结果
group分组查询
orderby排序
join连接两个数据源

示例:

// LINQ 查询语句
from 数据源 in 数据表名 where 条件 select 数据源

//1.定义数据源
List<UserInfo> info = new List<UserInfo>();           

//2.创建查询

var data =from record(自定) in info 
          where record.infoid=="1"
          select record

//3.执行查询
foreach(int 数据源 in info)
{
   输出的内容
   Console.Writeline("输出的内容");
}

实例:

创建类,定义字段,封装属性

创建类,定义字段,封装属性
namespace EF2_LX
{
    public class UserInfo
    {
        public int ID { get; set; }
        public string UserName { get; set; }
        public string Sex { get; set; }
        public int Age { get; set; }
        public string Address { get; set; }
        public string Phone { get; set; }
        public string Email { get; set; }
    }
}

函数方法: 


namespace EF2_LX
{
    class Program
    {
        //函数方法
        static void Main(string[] args)
        {
            //定义数据源
            List<UserInfo> info = new List<UserInfo>();
            
            //实例化
            UserInfo user1 = new UserInfo();
            
            //赋值
            user1.ID = 1;
            user1.UserName = "杨立新";
            user1.Sex = "男";
            user1.Age = 21;
            user1.Address = "湖南省怀化市";
            user1.Phone = "14785244563";
            user1.Email = "1542154785@qq.com";

            //实例化  
            UserInfo user2 = new UserInfo();

            //赋值
            user2.ID = 2;
            user2.UserName = "董柯";
            user2.Sex = "男";
            user2.Age = 22;
            user2.Address = "江西省九江市";
            user2.Phone = "18889654521";
            user2.Email = "4582154785@qq.com";

            UserInfo user3 = new UserInfo();
            user3.ID = 3;
            user3.UserName = "叶希";
            user3.Sex = "女";
            user3.Age = 20;
            user3.Address = "云南省昆明市";
            user3.Phone = "17545268546";
            user3.Email = "2154523698@qq.com";

            UserInfo user4 = new UserInfo();
            user4.ID = 4;
            user4.UserName = "苏苏";
            user4.Sex = "女";
            user4.Age = 20;
            user4.Address = "四川省成都市";
            user4.Phone = "15536524587";
            user4.Email = "3652584569@qq.com";

            //
            info.Add(user1);
            info.Add(user2);
            info.Add(user3);
            info.Add(user4);

            //输出的值
            Console.WriteLine("------获取性别为女的用户------");
            
            //创建查询
            var data = from s in info
                       where (s.Sex == "女")
                       select s;

            //执行查询
            foreach(var itme in data)
            {
                Console.WriteLine("姓名:{0} 年龄:{1} 电话: 
                {2}",itme.UserName,itme.Age,itme.Phone);
            }

            Console.WriteLine("------按照用户年龄排序------");
            var data1 = from a in info
                        orderby a.Age
                        select a;
            //执行查询
            foreach(var itme1 in data1)
            {
                Console.WriteLine("姓名:{0} 年龄:{1} 地址:{2}", itme1.UserName, 
                itme1.Age, itme1.Address);
            }

            //暂停
            Console.ReadKey();
        }
    }
}

二、LINQ 方法语法基础

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
L298N是一种常用的直流电机驱动芯片,可以通过它来控制直流电机的转速和方向。下面是L298N直流电机驱动的介绍和演示: 1. 接线图 L298N的引脚非常多,接线比较复杂,下面是L298N的接线图: ![L298N接线图](https://img-blog.csdn.net/20180522163412909?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbnhpYW9fYmFpZHUx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75) 2. 代码演示 下面是一个简单的Python代码演示,通过L298N控制直流电机的转速和方向: ```python import RPi.GPIO as GPIO import time # 定义引脚 ENA = 13 IN1 = 19 IN2 = 26 # 初始化GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(ENA, GPIO.OUT) GPIO.setup(IN1, GPIO.OUT) GPIO.setup(IN2, GPIO.OUT) # 设置PWM pwm = GPIO.PWM(ENA,1000) pwm.start(0) # 控制电机转动 def motor(direction, speed): if direction == 'forward': GPIO.output(IN1, GPIO.HIGH) GPIO.output(IN2, GPIO.LOW) elif direction == 'backward': GPIO.output(IN1, GPIO.LOW) GPIO.output(IN2, GPIO.HIGH) else: GPIO.output(IN1, GPIO.LOW) GPIO.output(IN2, GPIO.LOW) pwm.ChangeDutyCycle(speed) # 控制电机停止 def stop(): GPIO.output(IN1, GPIO.LOW) GPIO.output(IN2, GPIO.LOW) pwm.ChangeDutyCycle(0) # 控制电机转动5秒钟 motor('forward', 50) time.sleep(5) stop() # 清理GPIO GPIO.cleanup() ``` 3. 注意事项 在使用L298N驱动直流电机时,需要注意以下几点: - L298N的电源电压需要与直流电机的额定电压相同。 - L298N的使能端(ENA)需要接到PWM信号,以控制电机的转速。 - L298N的IN1和IN2需要接到GPIO口,以控制电机的转向。 - L298N的电机输出端需要接到直流电机的正负极。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禅心初露

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值