У меня есть эта хранимая процедура
CREATE PROCEDURE [dbo].[GetBooksByAuthor2]
AS
SELECT
books.Id, authors.Name AS Author, books.Name AS Book
FROM
dbo.Authors authors
INNER JOIN
dbo.AuthorsBooks authorsBooks ON authors.Id = authorsBooks.AuthorId
INNER JOIN
dbo.Books books ON books.Id = authorsBooks.BookId
GO
В SQL Server Management Studio результат выглядит следующим образом:
Id| Author | Book
--+--------------+----------
1 | FirstAuthor | GoodBook1
2 | FirstAuthor | GoodBook2
3 | FirstAuthor | GoodBook3
1 | SecondAuthor | GoodBook1
3 | SecondAuthor | GoodBook3
В EF Core я добавил модель представления для своей хранимой процедуры
public class BookViewModel
{
[Key]
public int Id { get; set; }
public string Author { get; set; }
public string Book { get; set; }
}
и я также добавил что-то подобное в класс контекста:
public partial class StrangeContext : DbContext
{
public virtual DbSet<BookViewModel> Books2 { get; set; }
}
Затем я вызываю его в действии контроллера
[HttpGet]
public JsonResult GetAuthors()
{
var result = db.Books2.FromSql("GetBooksByAuthor2").ToList();
return new JsonResult(result);
}
Результат просмотра Jsonкак
[
{ "id": 1, "author":"FirstAuthor", "book":"GoodBook1"},
{ "id": 2, "author":"FirstAuthor", "book":"GoodBook2"},
{ "id": 3, "author":"FirstAuthor", "book":"GoodBook3"},
{ "id": 1, "author":"FirstAuthor", "book":"GoodBook1"},
{ "id": 3, "author":"FirstAuthor", "book":"GoodBook3"}
]
Что я делаю не так?Неправильная ViewModel?Где Второй Автор?