Entity FrameworkコアのDateTimeの違い

entity-framework-core

質問

私はEntity Frameworkコアで次のクエリを持っています:

public class Question {
  public DateTime? Approved { get; set; }
  public DateTime Created { get; set; }
}

public class QuestionModel {
  public TimeSpan ResponseTime { get; set; }
}

List<Question> questions = await context.Questions
  .Select(x =>
    new QuestionModel {
      ResponseTime = x.Approved.Value - x.Created
    }).ToListAsync();

しかし、私は次のエラーが発生します:

System.Data.SqlClient.SqlException: Operand data type datetime2 is invalid for subtract operator.

Entity FrameworkコアでDateTimeの違いを取得するにはどうすればよいですか?

人気のある回答

この拡張メソッドを使用することもできます。Subtract()

List<Question> questions = (await context.Questions.ToListAsync())
.Select(x => new QuestionModel {
ResponseTime = x.Approved.Value.Subtract(x.Created);
})
.ToList();


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ