EF Core 2.0和原始查询

时间:2018-04-10 02:01:07

标签: c# .net-core entity-framework-core

我很确定我在EF Core 2中做过类似的事情:

// Not in Db
public class MyCustomProjection
{
    public int Id { get; set; }
    public string Name { get; set; }
}
public class MyDbContext: DbContext
{
    public DbSet<Blog> Blogs { get; set; }
    [NotMapped]
    public DbSet<MyCustomProjection> dummy { get; set; }

    public List<MyCustomProjection> GetCustomProjectedBlogs()
    {
        return dummy.FromSql("SELECT Id, Title AS Name FROM Blogs").ToListAsync();   
    }
}

为了能够将FromSql查询到自定义投影中,我将带有我的投影实体的DbSet添加到我的DbContext并添加了注释[NotMapped]。

我确信这曾经有用但现在似乎如果我使用NotMapped注释它会创建表格,如果我使用Fluent api Ignore与实体,表格将不会被创建,但EF会产生错误说你不能投射到被忽略的实体。

我无法访问我的旧代码(在另一家公司),我无法重新创建这一位。 有人请解释我的记忆是否破裂或我做错了什么。

0 个答案:

没有答案