Open
Description
This builds upon #17063, #13358 to enable different mappings for different SQL queries and to allow parameter configuration. This would also support JSON columns.
It would be configured like so:
modelBuilder
.Entity<Blog>()
.HasQuerySql("GetDeletedBlogs", "select id as BlogId, name as BlogName from Blogs where Deleted={0}",
q =>
{
q.Propety(b => b.Id).ToColumn("BlogId"));
q.Propety(b => b.Name).ToColumn("BlogName"));
q.Parameter("0").HasType("bit"));
});
And used like so:
var deletedBlogs = context.Set<Blog>().FromNamedSql("GetDeletedBlogs", true).ToList();
or
var deletedBlogs = context.Set<Blog>().FromNamedSqlRaw("GetDeletedBlogs",
"select id as BlogId, name as BlogName from Blogs where Deleted={0}",
true)
.ToList();