How can I use LINQ to populate a collection inside a class?
c#, linq
Solution
Use ToList:
foreach (string applicationName in applicationNames)
{
_uow.Applications.Add(
new Application
{
Name = applicationName,
ModifiedDate = DateTime.Now,
TestAccounts = (from testAccountName in testAccountNames
select new TestAccount
{
Name = testAccountName ,
ModifiedDate = DateTime.Now
}).ToList()
});
}
Problem
I have the following: ``` foreach (string applicationName in applicationNames) { _uow.Applications.Add( new Application { Name = applicationName, ModifiedDate = DateTime.Now, TestAccounts = (from testAccountName in testAccountNames select new TestAccount { Name = testAccountName , ModifiedDate = DateTime.Now }) }); } ``` The problem with this is that it gives me an error in the VS2012 IDE on the select. Here it says: ``` Error 3 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<Relational.Models.TestAccount>' to 'System.Collections.Generic.ICollection<Relational.Models.TestAccount>'. An explicit conversion exists (are you missing a cast? ``` Here is the Application class: ``` public partial class Application { public Application() { this.TestAccounts = new List<TestAccount>(); } public int ApplicationId { get; set; } public string Name { get; set; } public virtual byte[] Version { get; set; } public System.DateTime ModifiedDate { get; set; } public virtual ICollection<TestAccount> TestAccounts { get; set; } } ```