EF 查询时,返回其中一张表(省掉一个个写字段的麻烦)

1、使用partial将需要添加的字段进行扩展

    public partial class T_OrderInfo
    {
        public string EntName { get; set; }
}

2、使用时

var temp = db.T_OrderInfo.Where(QureyLambda.Compile()).Join(db.B_EntInfo, o => o.EntID, e => e.EntID, (o, e) =>
            {
                T_OrderInfo order = o;
                order.EntName = e.EntName;
                return order;
            }).OrderBy(t => t.Status);

 

转载于:https://www.cnblogs.com/bamboo-zhang/p/9237028.html

假设你已经有了一个 `Employee` 实体类和一个 `Attendance` 实体类,其中 `Attendance` 记录了员工的上下班打卡记录,包括打卡日期、上班打卡间和下班打卡间等信息。你需要查询某个员工在指定日期的上下班打卡记录,可以按照以下步骤进行操作: 1. 创建一个 `DbContext` 类,用于管理实体类和数据库连接。 ```csharp public class MyDbContext : DbContext { public DbSet<Employee> Employees { get; set; } public DbSet<Attendance> Attendances { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // 配置数据库连接字符串 optionsBuilder.UseSqlServer("Server=localhost;Database=mydb;User Id=myuser;Password=mypassword;"); } } ``` 2. 在 `Attendance` 实体类中定义一个 `Employee` 属性,用于关联员工实体。 ```csharp public class Attendance { public int Id { get; set; } public DateTime Date { get; set; } public DateTime? ClockIn { get; set; } public DateTime? ClockOut { get; set; } public int EmployeeId { get; set; } public Employee Employee { get; set; } } ``` 3. 在 `Employee` 实体类中定义一个 `Attendances` 属性,用于关联打卡记录实体集合。 ```csharp public class Employee { public int Id { get; set; } public string Name { get; set; } public ICollection<Attendance> Attendances { get; set; } } ``` 4. 编查询代码。可以使用 LINQ 达式查询指定日期的员工打卡记录,示例代码如下: ```csharp using (var db = new MyDbContext()) { var employeeId = 1; // 员工 ID var date = DateTime.Parse("2022-01-01"); // 打卡日期 var query = from a in db.Attendances where a.EmployeeId == employeeId && a.Date == date select a; var results = query.ToList(); foreach (var result in results) { Console.WriteLine($"{result.ClockIn} - {result.ClockOut}"); } } ``` 上述代码中,首先创建了一个 `MyDbContext` 实例,然后使用 LINQ 达式查询指定员工和日期的打卡记录,最后将结果输出到控制台。需要注意的是,查询结果是一个 `List<Attendance>` 集合,其中包含了员工在指定日期的所有打卡记录。如果某个打卡间为空,对应的属性值将会是 `null`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值