EF核心FromSql自定义属性绑定

时间:2017-01-30 21:26:45

标签: c# entity-framework

我们假设我有以下课程:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    [NotMapped]
    public bool Code { get; set; }
}

属性Code不是列,而是通过SQL查询计算的。 我想使用Code方法将属性Person绑定到FromSql类型。 像这样:

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();

有没有办法将自定义SQL查询变量绑定到对象属性?

1 个答案:

答案 0 :(得分:0)

感谢DavidG。对此的脏处理方法是删除NotMapped属性。 但是,为避免删除NotMapped属性,可以使用LINQ表达式,以便code获取其值。

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