Я использую nop commerce e-commerce с открытым исходным кодом 1.9, в котором они используют Entity Framework.
У них есть одна хранимая процедура, которая загружает все продукты и отображает эту хранимую процедуру на sp_ProductLoadAllPaged
function
Теперь я изменяю эту хранимую процедуру, и на выходе этого sp есть еще один столбец, который languages
.
Я также объявляю свойство languages
в файле класса product.cs.
Но теперь, когда я использую быстрые часы, столбец languages
для всех продуктов равен нулю.
Я обновил файл .edmx
из базы данных в браузере модели.
Теперь я проверяю, что мне не хватает некоторого сопоставления атрибутов языка, которое в классе и хранимой процедуре
Итак, скажите, пожалуйста, как сопоставить этот новый столбец хранимой процедуры со свойствами языков классов продуктов.
см. Изображение ниже для получения дополнительной информации
Как вы можете проверить окончательную инструкцию выбора хранимой процедуры, где я внес изменения, чтобы получить языки этого продукта
SELECT
p.ProductId,
p.Name,
p.ShortDescription,
p.FullDescription,
p.AdminComment,
p.TemplateId,
p.ShowOnHomePage,
p.MetaKeywords,
p.MetaDescription,
p.MetaTitle,
p.SEName,
p.AllowCustomerReviews,
p.AllowCustomerRatings,
p.RatingSum,
p.TotalRatingVotes,
p.Published,
p.Deleted,
p.CreatedOn,
p.UpdatedOn,
p.AmazonLink,
p.ProductCode,
p.CategoryText,
STUFF((Select ','+ [Name] from Nop_Language where Nop_Language.LanguageId in
(Select Nop_ProductLocalized.LanguageID
from
Nop_ProductLocalized
where
ProductID=p.ProductId
) for xml path('')),1,1,'') as 'languages'
FROM
#PageIndex [pi]
INNER JOIN Nop_Product p with (NOLOCK) on p.ProductID = [pi].ProductID
WHERE
[pi].IndexID > @PageLowerBound AND
[pi].IndexID < @PageUpperBound
ORDER BY
IndexID