gpt4 book ai didi

sql-server - 亚音速 3、SimpleRepository、SQL Server : How to find rows with a null field?

转载 作者:行者123 更新时间:2023-12-03 03:11:34 26 4
gpt4 key购买 nike

我如何使用 Subsonic 的 Find<T>方法来搜索字段包含“null”值的行。为了便于讨论,我们假设我有一个名为“Visit”的 C# 类,其中包含一个名为“SynchronizedOn”的可为空的 DateTime 字段,并且假设 Subsonic 迁移已创建相应的“Visits”表和“SynchronizedOn”字段。

如果我自己编写 SQL 查询,我会编写如下内容:

SELECT * FROM Visits WHERE SynchronizedOn IS NULL

当我使用以下代码时:

var visits = myRepository.Find<Visit>(x => x.SynchronizedOn == null);

Subsonic 将其转换为以下 SQL 查询:

SELECT * FROM Visits WHERE SynchronizedOn == null

它永远不会返回任何行。

我尝试了以下代码,但它引发了错误:

visits = repository.Find<Visit>(x => x.SynchronizedOn.HasValue);

我能够使用以下语法:

var query = from v in repository.All<Visit>()
where v.SynchronizedOn == null
orderby v.CreatedOn
select v;
visits = query.ToList<Visit>();

但它不如使用Find<T>那么好。方法。

任何人都知道我如何在 Find<T> 中指定“SynchronizedOn IS NULL”条件方法?

最佳答案

您可以使用:

var visits = myRepository.All<Visit>().Where(x => x.SynchronizedOn == null).ToList();

关于sql-server - 亚音速 3、SimpleRepository、SQL Server : How to find rows with a null field?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1249944/

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