forked from msawczyn/EFDesigner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchangelog.txt
297 lines (252 loc) · 20.4 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
2.0.0.0
- Dropped support for Visual Studio 2017; was getting to be too much to keep the tool viable for that Visual Studio version.
- It's now possible to have multiple diagrams for the same model, each showing a different view and synchronized as the model changes. Perfect for helping to understand large models.
- Added ability to specify foreign key properties (See https://github.com/msawczyn/EFDesigner/issues/55)
- Foreign key properties have a unique glyph so they can be easily picked out of the crowd
- Completely restructured assembly parsers; they now cleanly handle all combinations of EF6/EFCore2/EFCore3 and .NETCore2/.NETCore3/.NETFramework
- Modified assembly parsers to find declared foreign keys and add them to the model appropriately
- Added options dialog (Tools/Options/Entity Framework Visual Editor)
- Added use of GraphViz for model layout (if installed and path is added to "Tools/Options/Entity Framework Visual Editor")
- Added a default string max length to the options page for the designer
- Added switch to disable generation of classes and enumerations for those cases where they are coming from different assemblies but need to be in the model to avoid errors.
- Added visual indicator on classes and enumerations where code generation is disabled
- Added ability to override the base class of the generated DbContext to be something other than "DbContext"
- Attributes can now be flagged as abstract in the same way classes can.
- Renamed toolbox category to "EF Model Diagrams"
- Enhanced display of model elements in the Visual Studio property window's object list
- Removed MSAGL layouts. No one understood them anyway.
- Removed tool automatically installing NuGet packages. Too volatile.
- Fix: OutputDirectory lost on reload (See https://github.com/msawczyn/EFDesigner/issues/144)
- Fix: Unidirectional Many-to-One Association missing Required (See https://github.com/msawczyn/EFDesigner/issues/145)
- Fix: Can't delete property initial value for Enum values (See https://github.com/msawczyn/EFDesigner/issues/148)
- Fix: Support for Empty / blank "File Name Marker" (See https://github.com/msawczyn/EFDesigner/issues/149)
1.3.0.12
- Fix: Compilation Error after Upgrading to v1.3.0.11 (See https://github.com/msawczyn/EFDesigner/issues/129)
- Fix: Designer Drag/Drop Interpreter fails (See https://github.com/msawczyn/EFDesigner/issues/128 and https://github.com/msawczyn/EFDesigner/issues/132)
- Fix: Enumerations generated into entity directory rather than enumeration directory
1.3.0.11
- Removed default checks in constructors for scalars
1.3.0.10
- Build for VS2017 support
1.3.0.9
- Fix: backing fields caused duplicate database columns (See https://github.com/msawczyn/EFDesigner/issues/101)
- Fix: bad merge broke MaxLength and MinLength properties in entity string properties (See https://github.com/msawczyn/EFDesigner/issues/103)
- Fix: attribute parser ("edit as code" feature) didn't handle enumeration initial values well; it does now (See https://github.com/msawczyn/EFDesigner/issues/104)
- Fix: showing cascade delete in the designer worked inconsistently (See https://github.com/msawczyn/EFDesigner/issues/108)
- Fix: drag and drop developed regressions (See https://github.com/msawczyn/EFDesigner/issues/112 and https://github.com/msawczyn/EFDesigner/issues/114)
- Fix: undo threw null reference errors when undoing drag and drop from code files (See https://github.com/msawczyn/EFDesigner/issues/113)
- Fix: 'KeyBuilder' does not contain definition for 'Ignore' in EF Core (See https://github.com/msawczyn/EFDesigner/issues/115)
- Fix: Identity properties ignore Setter Visibility setting (See https://github.com/msawczyn/EFDesigner/issues/118)
- Changed string MaxLength to differentiate between undefined and max length (See https://github.com/msawczyn/EFDesigner/issues/118)
- Restructured display of namespaces and output directories in the designer's property window
- Removed visibility option for setters of automatic identity properties.
1.3.0.6
- Added a model fixup for when user doesn't use full enumeration name for a property's initial value in an entity (See https://github.com/msawczyn/EFDesigner/issues/82)
- To more fully support DDD models, added a toggle for persisting either the property or its backing field (if not an autoproperty) for EFCore
- Can now override the NotifyPropertyChanged value for an entity on a per-property and per-association basis
- Fix: Removed stray quote marks in default values for string properties (See https://github.com/msawczyn/EFDesigner/issues/86)
- Fix: Minimum string length was ignored when setting properties via text edit (See https://github.com/msawczyn/EFDesigner/issues/86)
- Fix: Required string identity property is not present in the constructor (See https://github.com/msawczyn/EFDesigner/issues/93)
- Fix: Some issues with owned entities in EFCore
- Fix: If NotifyPropertyChanged is active, wrong Output is generated (See https://github.com/msawczyn/EFDesigner/issues/97)
- For folks wanting to read and/or modify the source for this tool, added a readme on how to deal with tracking properties
1.3.0.4
- Fixed problematic code generation in constructors for classes having 1..1 associations (See https://github.com/msawczyn/EFDesigner/issues/74)
- Fixed problem where database was always generating identity values, regardless of setting in the model (See https://github.com/msawczyn/EFDesigner/issues/79)
- Fixed errors when creating nested project folders (See https://github.com/msawczyn/EFDesigner/issues/77)
- Fixed cascade delete errors in EFCore when overriding cascade behavior (See https://github.com/msawczyn/EFDesigner/issues/76)
- Added more information in headers for generated code (tool version, URLs, license info)
1.3.0.2
- Fixed error found in some VS2017 installations preventing running due to dependency problems
1.3.0.1
- Enhanced source code drag/drop to handle bidirectional associations and enumerations better.
- Can now import assemblies containing DbContext classes. Dropping a compiled assembly onto the design surface will attempt to process and merge it into the design.
- Added ability to merge two unidirectional associations into one bidirectional association (via context menu action)
- Added ability to split a bidirectional association to two unidirectional associations (via context menu action)
- Added Microsoft Automatic Graph Layout, giving the user the ability to choose the diagram's auto-layout strategy
1.2.7.2
- Added additional types of UInt16, UInt32, UInt64 and SByte to property type list
- Added the ability to use a modeled enumeration, if it has a proper backing type, as an entity identifier
- Added DateTime.UtcNow as a valid initial value for a DateTime property
- Fix: "One-to-one relation in EFCore" (See https://github.com/msawczyn/EFDesigner/issues/71)
- Remove default DbContext constructor in EFCore to allow support for AddDbContextPool calls in ConfigureServices (See https://github.com/msawczyn/EFDesigner/issues/72)
1.2.7.1
- Works with Visual Studio 2019 ... mostly (see Known Issues in the README)
- Better formatting for XML comment docs
- Added autoproperty toggle for association ends, allowing for implementation of partial methods to examine and/or override association getting and setting
- Removed experimental method added in 1.2.6.22 for generation of orphan association cleanup. The experiment failed :-(
- Documentation enhancements
- Change in generated code to eliminate name clashes in certain circumstances (See https://github.com/msawczyn/EFDesigner/issues/48)
- Fix: Removed duplicate indices being created for key fields
- Fix: Setting different value than default produces duplicated HasColumnType call in EF Core (See https://github.com/msawczyn/EFDesigner/issues/58). Thanks to tdabek (https://github.com/tdabek) for the PR!
- Fix: "Defining ColumnType causes error in generated DBContext" (See https://github.com/msawczyn/EFDesigner/issues/64)
- Fix: "EFCore indexed column not generated and support for multi column indexing" (See https://github.com/msawczyn/EFDesigner/issues/62)
- Fix: "One-to-one seems to generate incorrect code" (See https://github.com/msawczyn/EFDesigner/issues/60)
- Fix: "Error generating column type" (See https://github.com/msawczyn/EFDesigner/issues/58)
1.2.6.25
- Fix for duplicate associations when "Implement Notify" is true
1.2.6.24
- Fix for join table schema generation in certain scenarios (EF6)
- Fix for regression error producing code gen errors in EFCore navigation properties
1.2.6.23
- Fix for designer item not showing in Add Items dialog
1.2.6.22
- Added code in EF6 templates to generate orphan cleanup (experimental)
- Added API documentation to help those wishing to modify the T4 templates (WIP)
- Fix for 1..1 and 0-1..0-1 associations in EF Core generated code
- Entity constructor parameters normalized to help in JSON serialization/deserialization
1.2.6.21
- Generation of column type overrides now generates valid override code in OnModelCreating
- DbSet properties in DbContext generate as virtual to facilitate mocking
1.2.6.20
- Fixed code generation issue where class and enum directory overrides were being ignored (See https://github.com/msawczyn/EFDesigner/issues/36)
- Fixed a problem that caused a hard crash when certain model properties were changed under certain conditions (See https://github.com/msawczyn/EFDesigner/issues/38)
- Removed visibility of source and target roles for all but 1-1 and 0..1-0..1 associations; they can't be changed anyway (See https://github.com/msawczyn/EFDesigner/issues/40)
- Added Display Text property to generate [Display(Name="<text>")] for attributes, enum values and navigation properties
- Added ability to specify custom attributes for classes, attributes, enums, enum values and navigation properties
1.2.6.18
- Fixed issue #35, Concurrency mode: optimistic auto generated Timestamp property (See https://github.com/msawczyn/EFDesigner/issues/35)
- Fixed issue #33, Concurrency mode: optimistic (See https://github.com/msawczyn/EFDesigner/issues/33)
- Added the base class as a property in the property editor to allow for easily adding/removing inheritance relationships for multiple classes
1.2.6.14
- Cleaned up schema to prevent useless XSD warnings when editing the model
- Fixed one last remaining code generation issue with concurrency properties
- Added model's base class to property editor
- Change in the behavior for enumeration initial values if the enumeration is [Flags]. See documentation for details.
1.2.6.13
- Bugfix to remove unnecessary permission requests to push attributes down when deleting leaf nodes in an inheritance tree
- Fix to workaround Visual Studio pulling in the wrong System.Net.Http reference. (See https://developercommunity.visualstudio.com/content/problem/296293/vs2017-1575-ignores-the-hintpath-and-take-the-syst.html)
- Add EFModel.xsd to Visual Studio schema cache in order to avoid editor warnings for missing schema
- Fixed template issue for non-English-language systems (where Microsoft Pluralization Service is unavailable)
- Added compartment for association sources so Bidirectional associations would show up
1.2.6.11
- Tweak to force association end roles to be correct when roles or multiplicities change
- Attribute elements' "String Properties" don't appear unless the attribute is a string
- Attribute elements' "Indexed Unique" property doesn't appear unless the attribute has "Indexed" equal to "True"
- Fixed background color on attribute glyph in model explorer
- Fixed foreground color on enum value glyph on design surface
- Hid comments in model explorer because they just cluttered up the tree.
- Associations now show up in their own compartment in a class on the design surface. Note that this changes the height of your elements, so the first time opening a model you may have to tweak your esthetics a bit.
- Double-clicking a class or enum on the designer opens the generated code file, if it exists. If it doesn't exist, you're asked if you'd like to generate the model then, if you do, it tries again.
- Known issue: EFCore/.NETCore and EFCore/.NETFramework projects won't ask to generate the code if they can't open the file; they just fail silently. All other EF/.NET combinations behave appropriately.
1.2.6.7
- An entity's concurrency token property is no longer a required parameter in its constructor (https://github.com/msawczyn/EFDesigner/issues/24)
- Simplified cascade delete settings in property editor for associations
- Fixed bad code generation in EFCore for cascade delete overrides (https://github.com/msawczyn/EFDesigner/issues/22)
- Missing files when generating code for .NET Core projects fixed
- Tightened up and swatted some bugs in INotifyPropertyChanged handling. Added documentation to doc site for this feature (following up on https://github.com/msawczyn/EFDesigner/issues/23)
- Ensured multiline editing was available in property window for those properties that made sense
1.2.6.6
- Deleting a generalization or superclass gives the choice of pushing attributes and associations down to the former child class(es)
1.2.6.5
- Comment elements now wrap the text
- Multiline editor available in property window for element comment descriptions and Comment element text
- Xml format changed for .efmodel file - can't be loaded by any version < 1.2.6.3
- Support for automatic migration to new model xml formats
1.2.6.2
- Added XML docs to DbContext, DatabaseInitializer and DbMigrationsConfiguration
- Enabled drag and drop reordering of enum values and class properties
- Gave some color to the enum value glyph in the model explorer - it was so boring!
- Class properties and enum values with warnings now show a warning icon on the design surface
- Design surface has a property to turn on or off the display of the warning icons
- Recategorized a few "Misc" properties on the design surface
1.2.5.1
- Addressed issue #20 - Abstract/inherited/TPC =code still there for abstract class (https://github.com/msawczyn/EFDesigner/issues/20). While the
discussion centered around abstract classes and TPC inheritance (which was behaving properly), it did uncover a problem with code generation when
namespaces changed from class to class.
1.2.5.0
- Fix for issue #19 - Recognize "Id" as primary key on import (https://github.com/msawczyn/EFDesigner/issues/19)
1.2.4.0
- Retargeted immediate error and warning messages to Visual Studio output window rather than error window so they could be cleared
- Added drag validation to Generalization (inheritance) tool
- Automatically propagate enum name and value name changes to classes that use them
1.2.3.3
- Reverted the selection of the node in the model explorer when an element is selected in the diagram.
Was causing bad user experience.
- Fix for bad code generation when a class has multiple properties that each have an darabase index specified.
1.2.3.0
- When element selected in model explorer, no longer highlights in orange but instead selects, centers and zooms the element.
This was done because the color change flagged the model as modified, making the user either undo or save the changes to keep
source control happy.
- Selecting an element in the diagram also selects it in the model explorer
- Fix for issue #12 - Cascade delete (https://github.com/msawczyn/EFDesigner/issues/14). Added another enum value for delete behavior (now is Cascade, None and Default)
and changed code generation to force no cascade delete if set to 'None' ('None' used to mean 'Use the default behavior', which is now, more explicitly, the 'Default'
option).
- Fix for issue #13 - Unique index not generated in EF6 (https://github.com/msawczyn/EFDesigner/issues/13).
- Fix for issue #14 - Table with two Primary keys not generated properly in context (https://github.com/msawczyn/EFDesigner/issues/14). Many thanks to @Falthazar!
- Fix for issue #18 - Adds ValueGeneratedNever if identity type is Manual (https://github.com/msawczyn/EFDesigner/pull/18). Again, hats off to @Falthazar!
1.2.2.0
- Fix issue with association role end changing without the other side autoatically changing
- Fix issue with deleting a highlighted element throwing an error when trying to save the file
- Fixed code generation for dependent classes
- Designer now automatically saves before generating code
1.2.1.0
- Bug fix for inheritance strategy automatically changing to table-per-hierarchy if targeting EF Core
- Updated a few warning and error messages to make them more meaningful
- Fixes for how dependent types work
- Remove stale error and warnings prior to save (still a few left hanging around that need looked at)
- Fixed a few null reference errors
1.2.0.0
- New Features
- Roslyn-based code analysis now allows dragging C# files onto the design surface to add or update classes and enums
- Can add INotifyPropertyChanged interface and implementation for entities
- Ability to tag model as a specific EF version (especially useful for EF Core as new capabilities are being added often)
- Support for dependent (complex/owned) types
- Option to generate dependent types in a separate directory
- Output directory overrides for classes and enums
- On model save, can optionally automatically install EF NuGet packages for the model's EF type and version
- Context menu action to expand and collapse selected classes and enums
- Enhancements
- Added ability to add/edit enum values via text in the same way properties can be added/edited in classes
- Property grid hides element properties if they're not appropriate for the EF version
- Inheritance strategy automatically changes to table-per-hierarchy if targeting EF Core
- Context property "Database Type" changed to "SqlServer Type" to better reflect what it does
- Selecting an element in the Model Explorer highlights it on the diagram
1.1.0.0
- Bug fixes for exceptions thrown when bad input to model attributes as text
- Added MinLength string property (used in EF6 only as of this writing)
- Modified attribute parser to accept MinLength
- Added ColumnName property to model attribute
- Added MEF extension capability (see https://docs.microsoft.com/en-us/visualstudio/modeling/extend-your-dsl-by-using-mef)
- Added some unit tests
- Added some documentation updates
- Changed version to 1.1.0 due to MEF capability
1.0.3.9
- If no entities and model is using an unsupported inheritance strategy,
changing from EF6 to EFCore doesn't give a message, just changes the strategy.
- Added IsFlags attribute (and matching validations and behavior) to Enums
- NGENed extension assembly
1.0.3.8
- Fixed project item placement
- Added change checks to diagram so dirty flag doesn't set when nothing changes
- Added docs to solution for easier editing
1.0.3.7
- Emergency bug fixes
1.0.3.6
- Fixed parser errors when editing model attributes as text
- Fixed error when auto-generating on save and design surface is not the active window
- Fixed crash when used on non-English-language systems (where Microsoft Pluralization Service is unavailable)
- Added option to generate warnings if no documentation
- Standardized warning and error message structure
- Added ability to choose 'None' DatabaseInitializer type; generates SetInitializer(null)
1.0.3.5
- Enhanced portability between EF6 an EFCore
1.0.3.4
- Adds some T4 fixes to make generated code more usable in ASP.NET Core applications.
- Fix to spurious error when copying/pasting enum elements.
- First release that's available on Visual Studio Marketplace.
1.0.3.3
- Fix to spurious error when copying/pasting model elements
- **Do not use this release. Fix didn't extend to enum elements. This is fixed in 1.0.3.4.
1.0.3.2
- Minor bug fix in parsing manually typed attributes.
- Loosened model file version check to only check major version.
1.0.3.0
- Enhanced syntax for adding/editing attributes via code
- Fix for generate-on-save for both Framework and .NET Core projects.
1.0.2.0
- EFCore T4 template now available
1.0.1.0
- Fix to EF6 T4 for issue where column names in many-to-many association join tables were flipped
1.0.0.0
- Initial release