gpt4 book ai didi

c# - 使用匿名类型时调用 'Join' 类型推断失败

转载 作者:太空狗 更新时间:2023-10-29 22:19:16 25 4
gpt4 key购买 nike

我有一个 LINQ to SQL 的特殊问题:

这样做没问题:

from s in Something
join a in AnotherThing
on s.NullableDateTime.Value
equals a.DateTime
select s

但是,像这样使用匿名类型:

from s in Something
join a in AnotherThing
on new { s.NullableDateTime.Value }
equals new { a.DateTime }
select s

结果

The type of one of the expressions in the join clause is incorrect. Type inference failed in the call to 'Join'.

我需要使用匿名类型,因为我打算添加另一列以加入。

关于为什么会发生这种情况以及如何解决的任何想法?

最佳答案

你应该告诉编译器,它必须比较哪些属性:

 on new { s.NullableDateTime.Value }
equals new { Value = a.DateTime }

第一个创建匿名类型,如下所示:

class A
{
public DateTime Value { get; set; }
}

示例中的第二行创建了另一个匿名类型:

class B
{
public DateTime DateTime { get; set; }
}

因此,编译器无法理解您想将 a.Valueb.DateTime 进行比较。

关于c# - 使用匿名类型时调用 'Join' 类型推断失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19134687/

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