Skip to content
This repository has been archived by the owner on Oct 16, 2020. It is now read-only.

Commit

Permalink
EDMX: Workflow complete - Build Action "EntityDeploy" now working
Browse files Browse the repository at this point in the history
  • Loading branch information
barnacleboy committed Sep 17, 2010
1 parent a6fc423 commit 1c5ca59
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 20 deletions.
Expand Up @@ -117,29 +117,40 @@ public static XElement Write(EDMView edmView)
XElement connectionElement = null;
XElement optionsElement = null;

if (edmView.EDM.DesignerProperties != null)
if (edmView.EDM.DesignerProperties == null || edmView.EDM.DesignerProperties.FirstOrDefault(dp => dp.Name == "MetadataArtifactProcessing") == null)
{
connectionElement = new XElement(edmxNamespace + "Connection");
XElement designerInfoPropertyElement1 = new XElement(edmxNamespace + "DesignerInfoPropertyElement");
connectionElement.Add(designerInfoPropertyElement1);
List<DesignerProperty> standardDesignerProperties = null;

foreach (DesignerProperty designerProperty in edmView.EDM.DesignerProperties)
{
connectionElement.Add(new XElement(edmxNamespace + "DesignerProperty",
new XAttribute("Name", designerProperty.Name),
new XAttribute("Value", designerProperty.Value)));
}
if (edmView.EDM.DesignerProperties == null)
standardDesignerProperties = new List<DesignerProperty>();
else
standardDesignerProperties = edmView.EDM.DesignerProperties.ToList();

optionsElement = new XElement(edmxNamespace + "Options");
XElement designerInfoPropertyElement2 = new XElement(edmxNamespace + "DesignerInfoPropertyElement");
optionsElement.Add(designerInfoPropertyElement2);
standardDesignerProperties.Add(new DesignerProperty() { Name = "MetadataArtifactProcessing", Value = "EmbedInOutputAssembly" });

foreach (DesignerProperty designerProperty in edmView.EDM.DesignerProperties)
{
optionsElement.Add(new XElement(edmxNamespace + "DesignerProperty",
new XAttribute("Name", designerProperty.Name),
new XAttribute("Value", designerProperty.Value)));
}
edmView.EDM.DesignerProperties = standardDesignerProperties;
}

connectionElement = new XElement(edmxNamespace + "Connection");
XElement designerInfoPropertyElement1 = new XElement(edmxNamespace + "DesignerInfoPropertySet");
connectionElement.Add(designerInfoPropertyElement1);

foreach (DesignerProperty designerProperty in edmView.EDM.DesignerProperties)
{
designerInfoPropertyElement1.Add(new XElement(edmxNamespace + "DesignerProperty",
new XAttribute("Name", designerProperty.Name),
new XAttribute("Value", designerProperty.Value)));
}

optionsElement = new XElement(edmxNamespace + "Options");
XElement designerInfoPropertyElement2 = new XElement(edmxNamespace + "DesignerInfoPropertySet");
optionsElement.Add(designerInfoPropertyElement2);

foreach (DesignerProperty designerProperty in edmView.EDM.DesignerProperties)
{
designerInfoPropertyElement2.Add(new XElement(edmxNamespace + "DesignerProperty",
new XAttribute("Name", designerProperty.Name),
new XAttribute("Value", designerProperty.Value)));
}

XElement designerElement = new XElement(edmxNamespace + "Designer")
Expand Down
Expand Up @@ -42,7 +42,7 @@ public void GenerateCode(FileProjectItem item, CustomToolContext context)
EntityCodeGenerator entityCodeGenerator = new EntityCodeGenerator(languageToGenerateCode);
IList<EdmSchemaError> edmSchemaErrors = entityCodeGenerator.GenerateCode(tempFileName, outputFileName);
File.Delete(tempFileName);

context.EnsureOutputFileIsInProject(item, outputFileName);
}

Expand Down

0 comments on commit 1c5ca59

Please sign in to comment.