gpt4 book ai didi

c# - EF 4 : The specified type member '*' is not supported in LINQ to Entities

转载 作者:行者123 更新时间:2023-11-30 15:03:04 25 4
gpt4 key购买 nike

我有一个这样的映射类:

[Table("MyTable")]
class MyClass
{
//properties; id, name, etc...

private string _queuedToWHTime = string.Empty;
[Column("QueuedToWHTime")]
public string QueuedToWHTime
{
get { return _queuedToWHTime; }
set { _queuedToWHTime = value; }
}

public DateTime? QueuedToWHTime_DateTime
{
get
{
if (!string.IsNullOrWhiteSpace(_queuedToWHTime))
{
return Convert.ToDateTime(_queuedToWHTime);
}
return null;
}
}
}

和一个表(MyTable):

CREATE TABLE webnews_in
(
Id INT NOT NULL auto_increment,
QueuedToWHTime VARCHAR (50) NULL
...
PRIMARY KEY (Id)
);

当我尝试这样查询时:

var searchRslt=(from m in queryableNews
orderby m.QueuedToWHTime_DateTime descending
select m).ToList();

我得到一个 NotSupportedException:LINQ to Entities 不支持指定的类型成员“QueuedToWHTime_DateTime”。仅支持初始化程序、实体成员和实体导航属性。

最佳答案

您不能使用 EF 查询自定义属性。无法在 SQL 中翻译自定义属性。

您可以这样做以强制 orderby 在“内存中”完成。

var searchRslt = queryableNews
.AsEnumerable()
.OrderBy(m => m.QueuedToWHTime_DateTime)
.ToList();

关于c# - EF 4 : The specified type member '*' is not supported in LINQ to Entities,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12036210/

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