I want to give users the possibility to dynamically add new columns at the runtime. I am using the Entity framework v1 …
I did manage to read as xml and then change ssdl , csdl and msl files and construct new workspace and new object context…
But the problem is when i dynamically add new columns in EF model the underlying object is not changed, of course.
How to get the data from model without having concrete entity ? Anonymous type or DBDataRecord would be just fine… Or even some new type created at runtime…
Any idea ?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
Changing the Entity Model CSDL/SSDL will not change the types, because they are used to generate the types at design time. I don’t think there is any practical way to modify those types at runtime to reflect your changes to the model.
Method 2
In v1, you would need to generate a new assembly. This would also require redistributing EdmGen. I don’t know if that’s legal.
In EF v4, you could probably combine C# dynamic types with code-only modeling and come up with a pretty slick solution to your problem.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0