|
Как взять объект Entity?
|
|||
---|---|---|---|
#18+
Здравствуйте! Помогите, пожалуйста, решить следующую задачу : Есть такой фрагмент кода : Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Метод должен получать логин и пароль, проверять их в таблице Users и возвращать название роли из таблицы Roles, которая связана по полю IdRoles с таблицей Users. При совпадении пароля и логина в таблице Users, мне нужно взять значение поля Users.roleId, чтобы затем вытащить имя роли для данного объекта Users. Что-то не получается у меня взять ни объект user, ни idRole. Как правильно нужно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2014, 17:39 |
|
Как взять объект Entity?
|
|||
---|---|---|---|
#18+
erman, можно сделать так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Но при таком подходе мы сделаем два запроса когда можно обойтись одним. Таблицы Users и Roles наверняка связаны отношением. Значит в модели EF для Users должно быть навигационное свойство на таблицу Roles. И значит код можно переписать так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
P.S. Судя по твоему коду пароль хранится в БД в открытом виде. Это плохая небезопасная практика. Хранить следует криптографический хеш пароля + т.н. "соль" (salt). Я так понимаю что у тебя ASP.NET приложение. ASP.NET Membership и новая ASP.NET Identity делают это правильно. Используй готовые проверенные решения! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2014, 18:14 |
|
|
start [/forum/topic.php?fid=17&msg=38678947&tid=1349755]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
189ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 286ms |
0 / 0 |