У меня есть следующие упрощенные классы:MVC - Entity Framework - Где это?
public class Customer
{
public int Id {get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
public List<Account> Accounts {get; set;}
}
public class Account
{
public int Id {get; set;}
public Customer Customer {get; set;}
public int CustomerId {get; set;}
public string AccountNumber {get; set;}
public double AccountBalance {get; set;}
public int? SupercededAccountId {get; set;}
}
Так работает с классом Account мне нужен доступ к вытеснены счетам, который только другой счет. У меня есть запись с сохраненной учетной записью в виде идентификатора зарегистрированной учетной записи. Хотя я понимаю, что это некрасиво и неправильно, я добавил метод в класс Account, чтобы получить счет мне нужно:
public Account SupercededAccount()
{
if (SupercededAccountId != null)
{
using (DataContext db = new DataContext())
{
Account supercededAccount = db.Accounts.Find(SupercededAccountId);
return supercededAccount;
}
}
else return null;
}
мне нужен доступ к вытеснены объекта Account не только в представлении счета, но отчеты и фон поэтому я хотел бы, чтобы он каким-то образом был частью класса Model. Каков правильный способ получить доступ к перечисленным выше значениям учетной записи?
Ok совершенного. На шаг впереди. Мне также нужен доступ ко всем предыдущим учетным записям для этого клиента. Я оставил его выше, но у меня также есть способ получить те, которые в основном такие же, как и выше, кроме того, что он возвращает список учетных записей, в которых CustomerId = Account.CustomerId и! = Текущий идентификатор – georgewillow
Обновлено, просто используйте навигатор учетных записей и linq один, который вы хотите. –
Могу ли я поместить это в метод для легкого доступа? Таким образом, у меня может быть метод List PreviousAccounts() в классе Account, который возвращает Customer.Accounts.Where (i => i.Id! = This.Id)? –
georgewillow