ef core 2.2 では、DbQuery を使用して生の SQL 結果をオブジェクトに次のようにマップしました。
public partial class AppDbContext{
public DbQuery<SimpleQueryModel> SimpleQM {get;set;}
}
その後
var result=_dbContext.SimpleQM.FromSql(sqlString,params);
これにより、余分なテーブルが作成されることはなく、問題なく機能します。ef core 3.1 では DbQuery は廃止され、代わりにキーレス DbSet を使用するように指示されました。次のように構成しました。
public partial class AppDbContext{
public DbSet<SimpleQueryModel> SimpleQM {get;set;}
}
そしてModelCreatingで
builder.Entity<SimpleQueryModel>().HasNoKey();
しかし、これにより新しいDB移行で新しいテーブルが作成され、次のようにこのエンティティを無視するようにefに指示すると
builder.Entity<SimpleQueryModel>().HasNoKey().Ignore();
これを使用する_dbContext.SimpleQM.FromSqlRaw();
と、例外がスローされ、モデルがコンテキストに含まれていないことが通知されます。どうすればefコア3.1で同じ機能を実現できますか?