Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

convert or cast a List<t> to EntityCollection<T>

Tags:

How would you to convert or cast a List<T> to EntityCollection<T>?

Sometimes this occurs when trying to create 'from scratch' a collection of child objects (e.g. from a web form)

 Cannot implicitly convert type  'System.Collections.Generic.List' to  'System.Data.Objects.DataClasses.EntityCollection'
like image 772
alice7 Avatar asked Mar 02 '10 16:03

alice7


People also ask

Can we convert list to object?

In short, to convert an ArrayList to Object array you should: Create a new ArrayList. Populate the arrayList with elements, using add(E e ) API method of ArrayList. Use toArray() API method of ArrayList.

What is EntityCollection C#?

EntityCollection() Initializes a new instance of the EntityCollection class. EntityCollection(IList<Entity>) Initializes a new instance of the EntityCollection class setting the list of entities.


1 Answers

I assume you are talking about List<T> and EntityCollection<T> which is used by the Entity Framework. Since the latter has a completely different purpose (it's responsible for change tracking) and does not inherit List<T>, there's no direct cast.

You can create a new EntityCollection<T> and add all the List members.

var entityCollection = new EntityCollection<TEntity>(); foreach (var item m in list) {   entityCollection.Add(m); } 

Unfortunately EntityCollection<T> neither supports an Assign operation as does EntitySet used by Linq2Sql nor an overloaded constructor so that's where you're left with what I stated above.

like image 183
Johannes Rudolph Avatar answered Sep 19 '22 15:09

Johannes Rudolph