ho due modelli:
ecodice:[Table("Account")] public class dbAccount { [Key] public int AccountID { get; set; } public string UserName { get; set; } public string Password { get; set; } public string Email { get; set; } public string Name { get; set; } public string Surname { get; set; } public bool IsEnabled { get; set; } public virtual ICollection<dbRole> Roles { get; set; } } [ResourceDisplayName("Account")] public class vmAccount { [Key] [ResourceDisplayName("Account.AccountID")] public int AccountID { get; set; } [ResourceRequired] [ResourceDisplayName("Account.UserName")] public string UserName { get; set; } [ResourceRequired] [DataType(DataType.Password)] [ResourceDisplayName("Account.Password")] public string Password { get; set; } [ResourceRequired] [ResourceEmail] [ResourceDisplayName("Account.Email")] public string Email { get; set; } [ResourceRequired] [ResourceDisplayName("Account.Name")] public string Name { get; set; } [ResourceDisplayName("Account.Surname")] public string Surname { get; set; } [ResourceDisplayName("Account.IsEnabled")] public bool IsEnabled { get; set; } [ResourceDisplayName("Roles")] public virtual ICollection<vmRole> Roles { get; set; } }
il problema esce quando devo fare un a conversione da dbAccount a vmAccount con il seguente metodo:codice:[Table("Role")] public class dbRole { [Key] public int RoleID { get; set; } public string Name { get; set; } public string Description { get; set; } public virtual ICollection<dbAccount> Accounts { get; set; } public virtual ICollection<dbPermission> Permissions { get; set; } } [ResourceDisplayName("Role")] public class vmRole { [Key] [ResourceDisplayName("Role.RoleID")] public int RoleID { get; set; } [ResourceDisplayName("Role.Name")] public string Name { get; set; } [ResourceDisplayName("Role.Description")] public string Description { get; set; } [ResourceDisplayName("Accounts")] public virtual ICollection<vmAccount> Accounts { get; set; } }
L'applicazione va in OVerflow ...codice:public static List<vmAccount> to_vmAccounts(IEnumerable<dbAccount> dbAccounts) { List<vmAccount> vmAccounts = new List<vmAccount>(); foreach (dbAccount dbAccount in dbAccounts) vmAccounts.Add(to_vmAccount(dbAccount)); return vmAccounts; } public static vmAccount to_vmAccount(dbAccount dbAccount) { vmAccount vmAccount = new vmAccount() { AccountID = dbAccount.AccountID, UserName = dbAccount.UserName, Password = dbAccount.Password, Email = dbAccount.Email, Name = dbAccount.Name, Surname = dbAccount.Surname, IsEnabled = dbAccount.IsEnabled, Roles = RoleService.to_vmRoles(dbAccount.Roles) }; return vmAccount; } public static List<vmRole> to_vmRoles(IEnumerable<dbRole> dbRoles) { List<vmRole> vmRoles = new List<vmRole>(); foreach (dbRole dbRole in dbRoles) vmRoles.Add(to_vmRole(dbRole)); return vmRoles; } public static vmRole to_vmRole(dbRole dbRole) { vmRole vmRole = new vmRole() { RoleID = dbRole.RoleID, Name = dbRole.Name, Description = dbRole.Description, Accounts = AccountServices.tovmAccounts(dbRole.Accounts) }; return vmRole; }
Qualche soluzione???

Rispondi quotando
