想从数据库的DialyTable中提取某人近七次的activitytime的数据,写了个函数,但是没办法使用这些数据,该怎么办呢
LINQ提供了ToArray()
方法,将IQueryable
转换成数组,示例如下:
var d = DateTime.Now;
var list = new List<DailyTable>
{
new(1, "P1", d.AddDays(-7)),
new(2, "P1", d.AddDays(-6)),
new(3, "P2", d.AddDays(-5)),
new(4, "P1", d.AddDays(-4)),
new(5, "P1", d.AddDays(-3)),
new(6, "P3", d.AddDays(-2)),
new(7, "P1", d.AddDays(-1)),
new(8, "P1", d)
};
var result = (
from c in list
where c.PatientName == "P1"
select c)
.OrderByDescending(x => x.ActivityTime)
.Select(c => c.Id)
.Take(5)
.ToArray();
foreach (var item in result)
{
Console.WriteLine($"patient id: {item}");
}
public record DailyTable(int Id, string PatientName, DateTime ActivityTime);
运行结果:
patient id: 8
patient id: 7
patient id: 5
patient id: 4
patient id: 2
.ToList()
你好,
用ToArray().
string[] dialyactivitytime =(from ......).ToArray();