问题
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 ?
回答1:
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.
回答2:
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.
来源:https://stackoverflow.com/questions/1662462/dynamic-entity-in-ef1-change-model-in-runtime-add-property-dynamicaly