Я вызываю хранимую процедуру с EntityFramework.Но пользовательское свойство, которое я установил в частичном классе сущности, является нулевым.У меня есть сущности в моем edmx (я назвал edmx, я не знаю, что для этого нужно).Например, у меня есть таблица «Пользователь» в моей базе данных, и поэтому у меня есть класс «Пользователь» в моей сущности.У меня есть хранимая процедура с именем GetUserById (@userId), и в этой хранимой процедуре я пишу базовый SQL-оператор, как показано ниже
"SELECT * FROM Users WHERE Id=@userId"
, в моем edmx я делаю импорт функции, чтобы вызвать эту хранимую процедуру и установить еевернуть значение в Entities (также выберите User из выпадающего списка).Он отлично работает, когда я вызываю свою хранимую процедуру, как показано ниже
User user = Context.SP_GetUserById(123456);
Но я добавляю новый хранимый порядок в хранимую процедуру, чтобы вернуть еще один столбец, как показано ниже
SELECT *, dbo.ConcatRoles(U.Id) AS RolesAsString
FROM membership.[User] U
WHERE Id = @id
Теперь, когда я выполняюэто из SSMS новый столбец с именем RolesAsString появляется в результате.Чтобы работать с этой структурой сущностей, я добавил новое свойство RolesAsString в мой класс User, как показано ниже.
public partial class User
{
public string RolesAsString{ get; set; }
}
Но это поле не заполняется хранимой процедурой, когда я ее вызываю.Я смотрю в окна Mapping Detail моего SP_GetUserById, в этом окне нет отображения.Я хочу добавить, но окно доступно только для чтения, я не могу отобразить его.Я посмотрел на источник edmx не могу найти что-либо о сопоставлении SP.
Как я могу сопоставить это настраиваемое поле?