Я использую EF4 для извлечения объектов базы данных.Я определил представление, которое суммирует информацию о пользователях.
В SSMS я получаю 8 различных результатов, используя select *
или хранимую процедуру.Пример:
![enter image description here](https://i.stack.imgur.com/JashL.png)
При запросе в EF4 мое представление возвращает 8 результатов, но свойство UserTeamName
всегда возвращается в качестве первого значения (BoboTeam)
.Это странно, потому что UserRole
возвращается правильно, разница между этими элементами заключается в том, что UserTeamName
может иметь значение null.
Это похоже на проблему с EF, поскольку объект заполняется методом ExecuteFunction
изSystem.Data.Objects.ObjectContext
:
public ObjectResult<MySecurityView> SecurityList(Nullable<global::System.Int32> userId)
{
ObjectParameter userIdParameter;
if (userId.HasValue)
{
userIdParameter = new ObjectParameter("userId", userId);
}
else
{
userIdParameter = new ObjectParameter("userId", typeof(global::System.Int32));
}
return base.ExecuteFunction<MySecurityView>("SecurityList", userIdParameter);
}
Тот же результат, когда мы используем запрос linqtosql вместо хранимой процедуры.Любая подсказка приветствуется.