J'essaye d'obtenir le chargement impatient de travailler avec Subsonic, et il a rendu null pour moi.Linq imbriqué sélectionnez nouveau ne fonctionne pas
Dans la méthode ci-dessous, j'essaie d'hydrater un modèle de domaine (UserModel) qui contient un autre modèle de domaine (CompanyModel). Cependant, avec le code ci-dessous, UserModel.Company est toujours null.
Qu'est-ce qui me manque ici? Toute aide serait appréciée.
public IList<UserModel> GetUsers()
{
return (from u in SubsonicSqlServer.Users.All()
select new UserModel
{
UserId= u.UserId,
Company = (from c in u.Companies
select new CompanyModel
{
CompanyId = c.CompanyId,
CompanyName = c.CompanyName
}).SingleOrDefault(),
FirstName = u.FirstName,
LastName = u.LastName,
BirthDate = u.BirthDate
}).ToList();
}
Mise à jour (08/11/09):
Plus avec le toying autour de code, je trouve que la mise en COMPANYID dans l'exemple suivant ne fonctionne pas non plus. J'ai d'abord pensé que c'était un problème avec Subsonic, mais si le code ci-dessous ne fonctionne pas, je suppose que cela a quelque chose à voir avec ma déclaration Linq. Des idées?
public IList<UserModel> GetUsers()
{
return (from u in SubsonicSqlServer.Users.All()
select new UserModel
{
UserId= u.UserId,
CompanyId = Guid.NewGuid(),
FirstName = u.FirstName,
LastName = u.LastName,
BirthDate = u.BirthDate
}).ToList();
}
Mise à jour (11/17/2009):
n'a pas encore trouvé une solution. Mais nous passons à nHibernate (pas à cause de ce problème).
Selon ce fil, il y a des problèmes avec la projection (sélectionnant un type non-SubSonic): http://groups.google.com/group/subsonicproject/browse_thread/thread/2b569539b7f67a34?hl=fr&pli=1 Cela peut être lié à cela. –
quelle version subsonique que vous utilisez? – Funky81
@ Funky812: Subsonic version 3.0.0.3 – Jason