Entity Framework 核心,自定义 sql 没有 select 预期值

Entity Framework Core, custom sql doesn't select expected value

我想 select 一个值取决于另一个 table 和自定义 sql。如果另一个 table 中的条目存在,则值为 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。我希望有人能帮助我解决我在这里做错的问题。

如果我是对的,[NotMapped] 属性表示 EF 不会尝试 map/fetch 来自数据库的属性

编辑:也许试试

[ReadOnly(true)]

代替?