none
Entity framework - create the csdl, ssdl and msl files RRS feed

  • Question

  • I work with EF 4 (not with Self-tracking entities currently). I've added some columns (non of them is a key and all of the are nullable) to one of my entities, and got the Number of members in conceptual type does not match with number of members on object side type exception. I've tried to remove the references to this entity from the edmx's xml version (csdl part and then csdl & msl parts) but all I got from that was that this entity does not appear in my edmx anymore. I've re-added it from DB, but I keep getting the same exception. I think the problem is that I've copied the csdl/ssdl/msl files to my executing assembly directory. I'd like to copy the updated files, but they're not created again (they were once created in the obj\Debug\edmxResourcesToEmbed folder of my EF project), not even after removing them. Any way to get those files created again? Thanks. P.S: As I don't want to publish excess amounts of code, I don't add anything yet but I'll be happy to add needed information, I'm just not sure what exactly is needed. Also, I've no idea what category is appropriate for this question, sorry if I made a mess.
    Tuesday, August 23, 2011 12:45 PM

Answers

  • Since no other answer was given:

    In order to create the csdl, ssdl amd msl files, do the following:

    1. Go to your edmx file.
    2. Click on the GuI screen that shows the model.
    3. Switch to the property window (I didn't know that it needs to be accessed from the GUI area and not by right clicking the file in the Solution Explorer.
    4. In the Metadata Artifact Process select Embed in Output Assembly.

    Done and done, the files will appear in Debug\edmxResourcesToEmbed under obj or obj\x86, depends on your build definitions.
    I'm sorry if this seems to simple to explain, but I was in need for those instructions (msdn was not a great help) and I hope it might help others.

    • Marked as answer by Noich Sunday, August 28, 2011 9:06 AM
    Sunday, August 28, 2011 9:06 AM