gpt4 book ai didi

c# - Linq to Sql : Add additional data to result

转载 作者:行者123 更新时间:2023-11-30 22:50:12 25 4
gpt4 key购买 nike

在这里遇到了一个奇怪的情况。尝试从某个位置(纬度/经度)的特定范围内的 sql 数据库中提取汽车,然后返回 IQueryable 以在结果集上执行其他逻辑。

public IQueryable<Car> QueryAllCarsByDistance(float latitude, float longitude, int distance)
{
var cars = from car in QueryAllCars()
join i in sqlContext.QueryContactsByDistance(latitude, longitude, distance)
on car.ContactId equals i.Id
orderby i.Distance
select car;

return cars;
}

QueryContactByDistance 是 SQL 数据库中的一个函数,而 QueryAllCars 只返回数据库中的所有汽车。

我现在的问题是:如何将距离 (i.Distance) 附加到汽车?我不想做一个 select new Car { Distance = i.Distance, Id = car.Id, ... }。但是如何将这个附加值附加到汽车对象呢?

最佳答案

不幸的是,没有办法做到这一点。对于大多数正常的编码目的,C# 和 VB.Net 发出的类型定义是不可变的。无法在运行时添加或删除字段和属性。

您所能做的就是创建一个包装 Car 类型并提供附加属性的新类型。或者创建一个具有所有所需属性的 AnonymousType。

关于c# - Linq to Sql : Add additional data to result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/692978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com