Я пытаюсь использовать .FromSql, но продолжаю получать исключение
"Required Column Id is Missing"
Теперь у всех моих моделей есть идентификатор, поэтому я не знаю, какой из них мне не хватает, или пишу свой "As"
утверждения неверны, и они не отображаются должным образом.
var inventoryItems = dbContext.InventoryItems.AsNoTracking().FromSql(@"SELECT Brands.Id AS BrandsId, InventoryItems.Id AS InventoryItemsId,
Companies.Id AS CompaniesIds, Countries.Id AS CountriesId, States.Id AS StatesId, Branches.Id AS BranchesId,
Branches.CountryId, Branches.StateId, States.CountryId AS StatesCountryId, InventoryItems.InventoryCategoryId, InventoryItems.BrandId, InventoryItems.BranchId, Branches.CompanyId
FROM Branches INNER JOIN
Brands ON Branches.Id = Brands.Id INNER JOIN
Companies ON Branches.CompanyId = Companies.Id INNER JOIN
Countries ON Branches.CountryId = Countries.Id INNER JOIN
InventoryItems ON Branches.Id = InventoryItems.BranchId AND Brands.Id = InventoryItems.BrandId INNER JOIN
States ON Branches.StateId = States.Id AND Countries.Id = States.CountryId ).ToList();
Пример модели и все мои модели следуют одному и тому же шаблону
public class InventoryItem
{
public int Id { get; set; } //PK name
public int InventoryCategoryId { get; set; } // FK name pattern
public int BranchId { get; set; }
public virtual Branch Branch { get; set; }
public int BrandId { get; set; }
public virtual Brand Brand { get; set; }
}
Я использую FromSql, потому что мне нужно сделать предложение where(не показано), что фильтры в столбце json с ядром EF не поддерживают.