gpt4 book ai didi

c# - 如何使用 C# LINQ 正确(深度)映射复杂对象?

转载 作者:行者123 更新时间:2023-11-30 21:53:44 27 4
gpt4 key购买 nike

我有一个数据库,其中包含具有一对多关系的车主表和车辆表。我想获取所有车辆详细信息并将每个车主映射到每辆车,但我必须将查询映射到 BDO。不确定 LINQ 语法,但我有下面的代码。

using (var databaseContext = new DBConnection()) {
var vehicles = (from Vehicle in databaseContext.Vehicles
select Vehicle);

return vehicles.Select(x => new VehicleBDO() {
Id = x.Id,
// ... more simple data types
Owner = new OwnerBDO(
x.Owner.Id,
x.Owner.Name)
}).ToList();
}

如图所示,创建一个新的 ownerBDO 会给我一个包含详细信息的 MethodNotSupportedException:

Only parameterless constructors and initializers are supported in LINQ to Entities

我习惯了 Java 和 LINQ 新手所以不知道如何正确地做,任何帮助将不胜感激。

最佳答案

它希望你做这样的事情:

Owner = new OwnerBDO() { Id = x.Owner.Id, name = x.Owner.Name},

(我不知道 OwnerBDO 的属性名称所以我猜。)

关于c# - 如何使用 C# LINQ 正确(深度)映射复杂对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33701613/

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