That's how foreign-key database relationships work. The sales detail table should not contain details from the products table; it should only contain the key of the related record in the products table.
In SQL, you join the two tables together to see the related details. In Entity Framework, you use the navigation properties to view the related entity.
SELECT
D.ProductId,
P.Name As ProductName,
D.UnitPrice,
D.Quantity,
D.LineTotal
FROM
dbo.SalesDetails As D
INNER JOIN dbo.Products As P
ON P.Id = D.ProductId
WHERE
D.SaleId = 1
;
List<SaleDetail> sale = context.SaleDetails
.Include(d => d.Product)
.Where(d => d.SaleId == 1)
.ToList();