C# EF core FromSql自定义属性绑定

C# EF core FromSql自定义属性绑定,c#,entity-framework,C#,Entity Framework,让我们假设我有以下类: public class Person { public int Id { get; set; } public string Name { get; set; } [NotMapped] public bool Code { get; set; } } 属性code不是列,而是通过SQL查询计算出来的。 我想使用FromSql方法将属性code绑定到我的Person类型。 大概是这样的: var result = db.Person

让我们假设我有以下类:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    [NotMapped]
    public bool Code { get; set; }
}
属性
code
不是列,而是通过SQL查询计算出来的。 我想使用
FromSql
方法将属性
code
绑定到我的
Person
类型。 大概是这样的:

var result = db.Person
                 .FromSql("select Id, Name, 'Roar' as Code from Persons")
                 .Select(x => new Person
                 {
                     Id = x.Id,
                     Name = x.Name,
                     Code = EF.Property<string>(x, "Code")
                 }).ToList();
var result=db.Person
.FromSql(“选择Id、Name、“Roar”作为来自Persons的代码”)
.选择(x=>new Person
{
Id=x.Id,
Name=x.Name,
代码=有效属性(x,“代码”)
}).ToList();
有没有办法将自定义SQL查询变量绑定到对象属性?

多亏了。解决这个问题的方法是删除
NotMapped
属性。 但是,为了避免删除
NotMapped
属性,可以使用LINQ表达式,以便
code
获取其值


基本上,如果您想使用复杂的自定义SQL查询,最好的方法是使用ADO.NET。

我认为这在EF Core中是不可能的,比如“SQL查询只能用于返回作为模型一部分的实体类型”该列不是模型的一部分。当我创建“几何体”列并尝试映射计算出的距离后,出现了相同的问题