C# 使用EntityFrameworkCore

这段代码展示了如何在C#中使用Entity Framework Core(EF Core)进行数据库JOIN操作。`xcContext`是一个继承自`DbContext`的类,定义了`xcEquipment`和`xcSensor`两个数据表的DBSet。`xcEquipment`类包含一个`Sensors`属性,表示与`xcSensor`的关联。查询部分通过LINQ语法进行了JOIN操作,获取了设备及其关联传感器的Guid信息。然后在循环中,为每个设备的每个传感器生成了一个随机值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using com.aaa.Helper;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace com.aaa.Db 
{
    public class xcContext : DbContext
    {
        public DbSet<xcEquipment> Equipments{ get; set; }
        public DbSet<xcSensor> Sensors { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseMySQL(
                AppSettingsHelper.Configuration["DBConnStr:MySQL:ConnectionString"]);
        }
    }

    public class xcEquipment
    {
        [Key]
        public string EquipGUID { get; set; }
        public string CustomerGUID { get; set; }        
        public List<xcSensor> Sensors { get; set; }
    }

    public class xcSensor
    {
        [Key]
        public string SensorGUID { get; set; }
        public string EquipGUID { get; set; } 
    }
}
使用这里用了一下两个表之间的join

                using (xcContext dbContext = new xcContext())
                {
                    var datas = from o in dbContext.Equipments
                                join d in dbContext.Sensors
                               on o.EquipGUID equals d.EquipGUID 
                        
                               select new { o.CustomerGUID,d.EquipGUID,d.SensorGUID  };

                    foreach (var data in datas)
                    {
                        Random rd = new Random();
                        List<HashEntry> hashRTV = new List<HashEntry>(); 

                        hashRTV.Add(new HashEntry(data.SensorGUID, rd.Next(10, 99))); 
                    } 

                 }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值