EntityFramework

https://blog.youkuaiyun.com/qq_46984150/article/details/109756770
C# EF连接mySql教程在此

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EFSQLserver
{
    class Program
    {
        static void Main(string[] args)
        {
            using(ScadaDataEntities1 context = new ScadaDataEntities1())//数据库名
            {
                context.Database.Log += c => Console.WriteLine($"sql:{c}");
                //类型为表名
                ActualData actualData1 = context.ActualDatas.Find(1);//找出主键为1 即使查询

                //针对数据库的查询
                ActualData actualData2 = context.ActualDatas.FirstOrDefault(u => u.Id == 1);

                //new List<int>().FirstOrDefault(u=>u<10);//针对内存数据的Linq to object

                //延时查询
                var actualDataList = context.ActualDatas.Where(u => u.Id > 10&& u.Id <100 && u.VarName.Length>8);

                //actualData1.VarName += "test"; //修改数据中的数据并保存

                //foreach (var item in actualDataList)
                //{
                //    Console.WriteLine(item.VarName);
                //}

                ActualData actualDataNew = new ActualData()
                {
                    InsertTime = DateTime.Now,//Convert.ToDateTime("2005-11-6 16:11:04"),
                    Value = "5",
                    VarName = "test",
                    Remark = "这是测试"
                };

                context.ActualDatas.Add(actualDataNew);
                context.SaveChanges();

                ActualData actualData3 = context.ActualDatas.FirstOrDefault(u => u.Remark == "这是测试");
                Console.WriteLine(actualData3);
                Console.ReadKey();
            }
        }
    }
}

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MySqlTest2
{
    class Program
    {
        static void Main(string[] args)
        {
            using(ZgMySQLModel context = new ZgMySQLModel())
            {
                //actualvalue actualvalue1 = context.actualvalues.Find(2);
                //Console.WriteLine(actualvalue1.Remark);

                //in 查询
                //var list1 = context.actualvalues.Where(u => new int[] { 2, 3, 4, 5 }.Contains(u.Id));


                //list1 = list1.Where(v => v.Remark.Length > 5);
                //list1 = list1.OrderByDescending(v => v.Id);//只与数据库交互一次

                //选出2,3,4,5中包含Id的项,且Remark长度大于5,排序,并且只选择Value和Remark,跳过1个,取出2个


                var list1 = context.actualvalues.Where(u => new int[] { 2, 3, 4, 5 }.Contains(u.Id)).Where
                    (u => u.Remark.Length > 5)
                    .OrderBy(u => u.Id).Select(u => new
                    {
                        Value = u.Value,
                        Remark = u.Remark
                    }).Skip(1).Take(2);
                foreach (var item in list1)
                {
                    Console.WriteLine(item);
                }

                /*
                 { Value = 666, Remark = 冷却塔液位 }
                 { Value = 3, Remark = 冷却塔入口压力 }
                 */
                //使用SQL语句开始查询
                DbContextTransaction trans = null;
                try
                {
                    trans = context.Database.BeginTransaction();
                    string sql = "Update actualvalue Set Value='sb' Where Id=@Id";
                    SqlParameter parameter = new SqlParameter("@Id",1);
                    context.Database.ExecuteSqlCommand(sql, parameter);
                    trans.Commit();
                }
                catch (Exception)
                {
                    if (trans!=null)
                    {
                        trans.Rollback();
                    }
                }
                finally
                {
                    trans.Dispose();
                }

                Console.ReadKey();
            }
        }
    }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

潘诺西亚的火山

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

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

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

打赏作者

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

抵扣说明:

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

余额充值