【问题标题】:Entity Framework Core, custom sql doesn't select expected valueEntity Framework Core,自定义 sql 不选择期望值
【发布时间】:2018-09-20 10:12:30
【问题描述】:

我想根据另一个带有自定义 sql 的表来选择一个值。如果另一个表中的条目存在,则值为 1,否则为 NULL。 sql 在 SQL Server Management Studio 中工作得非常好。但是当我在我的应用程序中运行它时,我总是得到 NULL。

这是我的模型的代码:

[Table("Projects")]
 public class ProjectsModel
 {
        [Required(ErrorMessage = "Angabe der ID ist erforderlich.")]
        [Display(Name = "Lfd")]
        [Key]
        public int Id { get; set; }

        [Required(ErrorMessage = "Name ist erforderlich.")]
        [Display(Name = "Name")]
        public string Name { get; set; }

        [NotMapped]
        public bool? userAtProject { get; set; }
}

这是我的自定义 sql:

  var Projects = _context.Projects.FromSql("
        SELECT p.Id, p.Name, (
        SELECT 1 AS Expr1 FROM TableAB WHERE (aId = a.Id) 
        AND (UserId = '" + Id + "')) AS userAtProject 
        FROM Projects AS p INNER JOIN TableA AS a ON p.Name = a.Name")
        .ToList();

userAtProject 的值始终为 NULL。我希望有人可以帮助我在这里做错了什么。

【问题讨论】:

    标签: sql sql-server ef-core-2.0


    【解决方案1】:

    如果我是对的,[NotMapped] 属性表示 EF 不会尝试从数据库中映射/获取该属性

    编辑:也许试试

    [ReadOnly(true)]
    

    改为?

    【讨论】:

      猜你喜欢
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 2020-07-21
      • 2023-04-02
      相关资源
      最近更新 更多