Browse Source

EDMX: Some fixes EF code generation

pull/1/head
philippmaihart 15 years ago
parent
commit
a6fc423085
  1. 2
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Addin/Templates/Files/CSharp.EDMX.xft
  2. 7
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerViewContent.cs
  3. 5
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core/IO/DesignerIO.cs
  4. 2
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core/IO/EntityModelCodeGenerator.cs
  5. 6
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core/Windows/EDMWizard/EDMWizardWindow.cs
  6. 4
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.sln

2
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.Addin/Templates/Files/CSharp.EDMX.xft

@ -38,7 +38,7 @@
${Path} -> Full path of the file ${Path} -> Full path of the file
--> -->
<Files> <Files>
<File name="${FullName}" language="XML" buildAction="EntityDeploy" CustomTool="EntityModelCodeGenerator"> <File name="${FullName}" language="XML" buildAction="EntityDeploy" Generator="EntityModelCodeGenerator">
<![CDATA[<?xml version="1.0" encoding="utf-8"?> <![CDATA[<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx"> <edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx">
<!-- EF Runtime content --> <!-- EF Runtime content -->

7
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core.UI/DisplayBinding/EDMDesignerViewContent.cs

@ -22,6 +22,7 @@ using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.ChangeWatcher; using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.ChangeWatcher;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Common; using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Common;
using ICSharpCode.SharpDevelop.Project;
#endregion #endregion
@ -109,7 +110,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
if (_edmView.EDM.IsEmpty) if (_edmView.EDM.IsEmpty)
{ {
edmxElement = null; edmxElement = null;
EDMWizardWindow wizard = RunWizard(file); EDMWizardWindow wizard = RunWizard(file, ProjectService.CurrentProject.RootNamespace);
if (wizard.DialogResult == true) if (wizard.DialogResult == true)
_edmView = new EDMView(wizard.EDMXDocument, readMoreAction); _edmView = new EDMView(wizard.EDMXDocument, readMoreAction);
@ -150,9 +151,9 @@ namespace ICSharpCode.Data.EDMDesigner.Core.UI.DisplayBinding
EDMXIO.WriteXDocument(_edmView).Save(stream); EDMXIO.WriteXDocument(_edmView).Save(stream);
} }
private EDMWizardWindow RunWizard(OpenedFile file) private EDMWizardWindow RunWizard(OpenedFile file, string projectStandardNamespace)
{ {
EDMWizardWindow wizard = new EDMWizardWindow(file); EDMWizardWindow wizard = new EDMWizardWindow(file, projectStandardNamespace);
wizard.Owner = Application.Current.MainWindow; wizard.Owner = Application.Current.MainWindow;
wizard.WindowStartupLocation = WindowStartupLocation.CenterOwner; wizard.WindowStartupLocation = WindowStartupLocation.CenterOwner;
wizard.ShowDialog(); wizard.ShowDialog();

5
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core/IO/DesignerIO.cs

@ -12,6 +12,7 @@ using ICSharpCode.Data.EDMDesigner.Core.EDMObjects;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.Common; using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.Common;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Common; using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Common;
using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.ChangeWatcher; using ICSharpCode.Data.EDMDesigner.Core.EDMObjects.Designer.ChangeWatcher;
using System.Collections.Generic;
#endregion #endregion
@ -44,7 +45,9 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO
if (arrange != null) if (arrange != null)
designerView.ArrangeTypeDesigners = bool.Parse(arrange.Value); designerView.ArrangeTypeDesigners = bool.Parse(arrange.Value);
foreach (var designerTypeXElement in designerViewXElement.Elements("DesignerType")) IEnumerable<XElement> designerTypeXElements = designerViewXElement.Elements("DesignerType");
foreach (var designerTypeXElement in designerTypeXElements)
{ {
var name = designerTypeXElement.Attribute("Name").Value; var name = designerTypeXElement.Attribute("Name").Value;

2
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core/IO/EntityModelCodeGenerator.cs

@ -33,7 +33,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.IO
throw new ArgumentException("Input file is not a valid EDMX file."); throw new ArgumentException("Input file is not a valid EDMX file.");
XDocument csdlDocument = new XDocument(new XDeclaration("1.0", "utf-8", null), conceptualModelsElement.Element(XName.Get("Schema", csdlNamespace.NamespaceName))); XDocument csdlDocument = new XDocument(new XDeclaration("1.0", "utf-8", null), conceptualModelsElement.Element(XName.Get("Schema", csdlNamespace.NamespaceName)));
string tempFileName = IO.GetTempFilenameWithExtension("csdl"); string tempFileName = IO.GetTempFilenameWithExtension("csdl");
csdlDocument.Save(tempFileName); csdlDocument.Save(tempFileName);

6
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.EDMDesigner.Core/Windows/EDMWizard/EDMWizardWindow.cs

@ -37,6 +37,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.Windows.EDMWizard
private IDatabase _selectedDatabase = null; private IDatabase _selectedDatabase = null;
private string _modelNamespace = string.Empty; private string _modelNamespace = string.Empty;
private string _objectContextName = string.Empty; private string _objectContextName = string.Empty;
private string _projectStandardNamespace = string.Empty;
private OpenedFile _file = null; private OpenedFile _file = null;
private XDocument _edmxDocument = null; private XDocument _edmxDocument = null;
@ -137,7 +138,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.Windows.EDMWizard
#region Constructor #region Constructor
public EDMWizardWindow(OpenedFile file) public EDMWizardWindow(OpenedFile file, string projectStandardNamespace)
{ {
Title = "Entity Framework Wizard"; Title = "Entity Framework Wizard";
Width = 640; Width = 640;
@ -147,6 +148,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.Windows.EDMWizard
AddWizardUserControl<ChooseDatabaseObjectsUserControl>(); AddWizardUserControl<ChooseDatabaseObjectsUserControl>();
_file = file; _file = file;
_projectStandardNamespace = projectStandardNamespace;
} }
#endregion #endregion
@ -157,7 +159,7 @@ namespace ICSharpCode.Data.EDMDesigner.Core.Windows.EDMWizard
{ {
if (SelectedDatabase != null) if (SelectedDatabase != null)
{ {
_edmxDocument = EDMConverter.CreateEDMXFromIDatabase(SelectedDatabase, ModelNamespace, "TestNamespace", ObjectContextName); _edmxDocument = EDMConverter.CreateEDMXFromIDatabase(SelectedDatabase, ModelNamespace, _projectStandardNamespace, ObjectContextName);
} }
} }

4
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.sln

@ -1,6 +1,6 @@
 
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 10 # Visual Studio 2010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DatabaseDrivers", "DatabaseDrivers", "{C5FB6340-6A60-40EA-9C06-708BE0EC84F2}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DatabaseDrivers", "DatabaseDrivers", "{C5FB6340-6A60-40EA-9C06-708BE0EC84F2}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{1F5B7C44-B137-4D74-A594-96EAC98890F8}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{1F5B7C44-B137-4D74-A594-96EAC98890F8}"
@ -28,6 +28,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "I
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.DemoApp", "ICSharpCode.Data.DemoApp\ICSharpCode.Data.DemoApp.csproj", "{1EB79CD3-ECF1-420E-8A44-FA1EDD15390F}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.DemoApp", "ICSharpCode.Data.DemoApp\ICSharpCode.Data.DemoApp.csproj", "{1EB79CD3-ECF1-420E-8A44-FA1EDD15390F}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A3C49AAC-F616-4575-9522-E6A3ACA36884}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU

Loading…
Cancel
Save