Мне нужна помощь с доступом к свойствам класса в данном классе.
Например, возьмите следующий класс:
public partial class Account
{
private Profile _profile;
private Email _email;
private HostInfo _hostInfo;
public Profile Profile
{
get { return _profile; }
set { _profile = value; }
}
public Email Email
{
get { return _email; }
set { _email = value; }
}
public HostInfo HostInfo
{
get { return _hostInfo; }
set { _hostInfo = value; }
}
В классе «Аккаунт» существует множество свойств класса, таких как Email или Profile.
Теперь, когда я хочу получить доступ к этим свойствам во время выполнения, я делаю что-то вроде этого
(для электронной почты):
_accountRepository = ObjectFactory.GetInstance<IAccountRepository>();
string username = Cryptography.Decrypt(_webContext.UserNameToVerify, "verify");
Account account = _accountRepository.GetAccountByUserName(username);
if(account != null)
{
account.Email.IsConfirmed = true;
Но я получаю "Ссылка на объект не установлена ..." для учетной записи. Электронная почта ... Почему это так?
Как я могу получить доступ к учетной записи таким образом, что account.Email, account.Profile и т. Д.
возвращает правильные данные для данного AccountId или UserName.
Here is a method that returns Account:
public Account GetAccountByUserName(string userName)
{
Account account = null;
using (MyDataContext dc = _conn.GetContext())
{
try
{
account = (from a in dc.Accounts
where a.UserName == userName
select a).FirstOrDefault();
}
catch
{
//oops
}
}
return account;
}
Выше работает, но когда я пытаюсь:
account = (from a in dc.Accounts
join em in dc.Emails on a.AccountId equals em.AccountId
join p in dc.Profiles on em.AccountId equals p.AccountId
where a.UserName == userName
select a).FirstOrDefault();
Я все еще получаю исключения ссылок на объекты для своего электронного адреса и профиля
свойства. Это просто проблема SQL или мне нужно что-то еще
делать, чтобы иметь возможность полного доступа ко всем свойствам в моем классе учетной записи?
Спасибо!