Nous avons récemment modifié l'implémentation d'ADO.NET en Repository Pattern et généré des entités à l'aide d'Entity Framework.Modèle de référentiel Accéder à plusieurs tables?
Maintenant j'essaie d'accéder à 2 tables (Comptes et Soumission) et je n'obtiens pas la méthode d'inclusion pour accéder à la deuxième table. Pour accéder à la table unique, la méthode SelectAll donne toutes les données requises. WOndering qu'est-ce que je fais mal ici?
Appréciez vos réponses.
Voici mon code:
public class GPController : ApiController
{
private readonly IRepository<Account> _acctRepository;
private readonly IRepository<Submission> _subRepository;
public GPController(IRepository<Account> acctRepository, IRepository<Submission> subRepository)
{
_acctRepository = acctRepository;
_subRepository = subRepository;
}
[HttpPost]
public IHttpActionResult CreateAccount(Account account)
{
try
{
_acctRepository.Insert(account);
_acctRepository.Save();
return Ok<bool>(true);
}
catch (Exception ex)
{
throw ex;
}
}
[HttpPost]
public IHttpActionResult CreateSubmission(Submission submission)
{
try
{
_subRepository.SelectAll().ToList();
_subRepository.Save();
return Ok<bool>(true);
}
catch (Exception ex)
{
throw ex;
}
}
[HttpGet]
public IHttpActionResult GetAccountTreeDetails()
{
try
{
var accounts = _acctRepository.SelectAll().ToList();
var submissions = _subRepository.SelectAll().ToList();
//if (submissions.Any())
//{
// var data = from a in accounts
// left join s in submissions on a.AccountId equals s.AccountId
// select a;
//}
//var data = from acct in _acctRepository
// join sub in _subRepository on acct.AccountId equals sub.AccountId
// select acct;
return Ok<List<Account>>(result);
}
catch (Exception ex)
{
throw ex;
}
}
}
Ici AccountTable est la table primaire qui a AccountID. La table de soumission contient un ID de compte dont la clé externe provient de la table de comptes.
Voici le tableau de présentation:
Quelle est la relation entre les comptes et les communications - 1-n, 1-1 ... –
table de compte est la table primaire qui a AccountID. Attendu que la table Submissions a AccountID qui est Foriegn clé référencée à partir de la table des comptes. – Ritha
Je suppose que vous essayez de réparer GetAccountTreeDetails(). Qu'est-ce que vous essayez de récupérer - toutes les soumissions liées à un compte ou tous les comptes et les soumissions connexes? BTW CreateSubmission() méthode ne semble rien faire - je ne suis pas sûr de ce que vous essayez d'atteindre ici? –