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();
}
}
}
}
3205

被折叠的 条评论
为什么被折叠?



