forked from msawczyn/EFDesigner2022
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
508 lines (437 loc) · 37.7 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
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
4.2.8
- Better handling of N-N relations in assembly parser
- Better detection of principal/dependent roles in assembly parser
4.2.7
- Support for per-entity inheritance in EF7
- Added option to generate nullable indicators
- Added temporal table support for EFCore6 and above. These aren't supported by every database, and you're on your own to know if your database supports them.
- Arrays of native types can now be used as property types in EFCore8+ projects
- Aggregate ("owned") types can now be stored as JSON properties in EFCore7+ projects
- Associations with transient, non-collection objects can be stored as JSON properties in EFCore7+ projects
- Added support for reverse engineering EFCore v8 assemblies
- Fixes issue when generating code for properties that have a default enumeration value. Thanks to @equipatuequipo for [the pull request](https://github.com/msawczyn/EFDesigner2022/pull/72).
- Association classes are back, but only for cases where each side of the many-to-many bidirectional association has a single identity property.
- Removed EFCore2 and EFCore3 parsers. Those EFCore versions have been obsolete for quite a while. If you need to use them, you can still use the 4.2.5 version of the extension.
- Constructors with required-but-transient associations no longer have those associations as parameters. If that constructor is needed, add it to the partial class file.
- Tightened up the concept of transient entities. We're now generating better code for these and the restriction that transient associations must be auto properties has been removed.
- Entities now update their displays immediately when the Persistent flag is changed.
4.2.5
- Adds missing XML documentation for public and protected members
- Fixes "No 'Is Identity' setting when adding a new entity property (version 4.2.44)" (see https://github.com/msawczyn/EFDesigner2022/issues/63)
- Fixes "Bad intersection table generation when M:M tables have the same primary key name" (see https://github.com/msawczyn/EFDesigner2022/issues/64)
- Fixes "Table names are pluralized even when flag set to false" (see https://github.com/msawczyn/EFDesigner2022/issues/65)
4.2.4
- Reduced model load time by 98%
- Exposed "Collapse Selected Elements" context menu choice for diagrams
- Fixed colors in saved diagram images (see https://github.com/msawczyn/EFDesigner2022/issues/62)
4.2.3
- Added HierarchyId as a property type
- Added optional index name for indexed properties
- Added properties to bidirectional associations allowing custom naming of FK columns in join table
- New example code for EF6 and EFCore. Thanks to David V for the pull request.
- Class, property, enum and enum value names are now escaped if they match a reserved C# keyword
- Ensured that a foreign key property's IsForeignKeyFor value is reset when the association is removed and that property is an Id property. (see https://github.com/msawczyn/EFDesigner2022/issues/47)
- Replaced legacy EF6Designer.ttinclude and EFCoreDesigner.ttinclude files for legacy model file backward compatability. (see https://github.com/msawczyn/EFDesigner2022/issues/45)
- Assembly import is a bit smarter now in detecting and using indexes and views
- New glyphs in diagram and explorer to show transient and view entities
- Fix bad constructor generation when multiple associations exist between the same classes (see https://github.com/msawczyn/EFDesigner2022/issues/50)
- Removed modeling restriction on unidirectional many-to-many properties in EFCore7+ projects (see https://github.com/msawczyn/EFDesigner2022/issues/54)
- Updated file sync logic for generated files. Thanks to Sancho-Lee for the pull request. (see https://github.com/msawczyn/EFDesigner2022/issues/57)
- Fix bad code re: key fields in derived types. (see https://github.com/msawczyn/EFDesigner2022/issues/55)
4.2.1
- Added support for EFCore7
- Added ability to import EFCore7 assemblies
- Added ability to use property types not available in the select list, along with a global option enabling this feature in Tools/Options/Entity Framework Visual Editor (see https://github.com/msawczyn/EFDesigner2022/issues/28)
- Added support for DateOnly and TimeOnly types in EFCore 6+
- Added ability to specify decimal precision in EFCore5+ projects
- Fix for View->Other Windows->Entity Model Explorer not working (see https://github.com/msawczyn/EFDesigner2022/issues/29)
- Fix error in code generation template for EFCore5+ projects
4.2.0
- Added ability to import EFCore6 assemblies
- Added database default values to properties (see https://github.com/msawczyn/EFDesigner2022/issues/15)
- Extension now obeys Visual Studio theme colors (see https://github.com/msawczyn/EFDesigner2022/issues/9)
- Added Persistent property to ModelClass to generate [NotMapped] when false. (see https://github.com/msawczyn/EFDesigner2022/issues/17)
- Entity constructors with required navigation properties are now generated with either the required navigation target or its foreign key property, if available (see https://github.com/msawczyn/EFDesigner2022/issues/21)
- Fixed other Entity Framework assembly imports that broke with VS2022 moving to 64-bit (see https://github.com/msawczyn/EFDesigner2022/issues/14)
- Fixed problem with generated Timestamp concurrency check (see https://github.com/msawczyn/EFDesigner2022/issues/20)
4.1.2
- Added ability to create association classes via drag and drop of an entity onto a bidirectional many-to-many association
- Restored ability to open secondary diagrams
- Compiler update to Visual Studio v17.1.0 fixes missing designer menu items
4.0.1
- Added validations preventing use of temporal tables in unsupported scenarios
4.0.0
- VS2022 extension
- Added support for EFCore6
- Added support for temporal tables
3.0.8
- Attribute types can now be manually added. This will require a ValueConverter at runtime to avoid errors, but allows for this EF feature to be easily used.
3.0.7
- Fixed a number of issues with importing compiled assemblies
- Fixed coloring of cascade delete associations when flagged on the model (see https://github.com/msawczyn/EFDesigner/issues/291)
- Fixed missing '$' in generator template that was generating bad code for table schemas (see https://github.com/msawczyn/EFDesigner/issues/289)
- Restored auto-instantiation of dependent objects in entity constructors (see https://github.com/msawczyn/EFDesigner/issues/287)
- Added Microsoft.VisualStudio.Modeling.Components.15.0.dll to DslPackage assembly (see https://github.com/msawczyn/EFDesigner/issues/293)
- Removed validations on model open/load that prevented a misconfigured model from loading. Errors will still be shown during editing and when saving.
- New context menu item to add class elements at the cursor position on a diagram (thanks to dcastenholz for the addition)
- New context menu item to generate code from the Solution Explorer (thanks to dcastenholz for the addition)
- Method visibility changes to allow MEF extensions to supply new icons and to layout a diagram (thanks to dcastenholz for the addition)
3.0.6
- Added ability to copy current diagram to clipboard
- DbContext fix for configuring associations with backing fields
- Code generation fix for associations with backing fields
3.0.5
- Fix where parsing EF version numbers should be culture-neutral (see https://github.com/msawczyn/EFDesigner/issues/282)
- Fixed circular logic flaw in identity properties for database views (see https://github.com/msawczyn/EFDesigner/issues/275)
- Corrected tracking property access modes from the default to overrides in entity attributes
3.0.4
- Added context menu choice to visually align node elements on diagrams.
- Fix for detecting correct EF version when anything with "Latest" in it is configured (see https://github.com/msawczyn/EFDesigner/issues/266)
- Fix to generate correct initial value code for decimal properties (see https://github.com/msawczyn/EFDesigner/issues/268)
- Fix for constructor code generation in 1-N unidirectional associations (see https://github.com/msawczyn/EFDesigner/issues/263)
- Removed addition of default objects in constructors for required associations for all EF versions (see https://github.com/msawczyn/EFDesigner/issues/271)
3.0.3
- Added VS UML icon for model file in solution explorer (thanks to https://github.com/dcastenholz for the change)
- Classes with custom interfaces can now display an indicator with a tooltip indicating the interface type(s). This glyph is enabled/disabled at model level.
- Added ability to specify that an association should be automatically included in any queries that use it (EFCore5 only). The association connector will appear bolder if at least one end is auto-included.
- Updated association tooltip to indicate which, if any, end is auto-included
- Fix to ensure database collation overrides don't get applied to the wrong column types
- Fix to allow 1..1 association to owned types in EFCore5 (see https://github.com/msawczyn/EFDesigner/issues/252)
- Fix to calculate EF version number correctly when "Latest" was specified in designer (see https://github.com/msawczyn/EFDesigner/issues/254)
- Fix to generate correct DeleteBehavior enum values in EFCore < v3 (see https://github.com/msawczyn/EFDesigner/issues/257)
- Removed INotifyPropertyChanged option from designer. Implementers wanting this interface can add it to a partial class file as any other interface, as there's really nothing special about it.
- Generated code now honors the ExcludeFromMigration setting for a class
3.0.2
- Added setting on designer surface to set visibility defaults for entity default constructors, and overrides for that setting on the entities
- Added `public bool ModelAttribute.IsForeignKeyProperty` for use by developers doing custom code generation from the model
- Added option for turning off DbSet and table name pluralization (see https://github.com/msawczyn/EFDesigner/issues/246)
- Added option for how to name foreign key shadow properties - either with or without underscores (see https://github.com/msawczyn/EFDesigner/issues/250)
- Added option to generate DbContextFactory class, for use in context pooling. Asking for DbContext factory method generation disables generating OnCreating method, since they don't play well together.
- Changed property editor for custom attributes to be multiline, to ease editing (see https://github.com/msawczyn/EFDesigner/issues/251)
- Fixes for code generation of new EFCore5 database collation options
- Fixed condition where sometimes generated code in entity default constructors would create infinitely recursive calls
- Stopped escaping standard XML comment tags in summary and description fields (see https://github.com/msawczyn/EFDesigner/issues/248)
- Due to the new seeding needs in EFCore5, setters for identity properties are now public even if set to be auto-generated
3.0.1
- Added [Description] attribute (to classes, properties, enums and enum values where summary was non-blank) to facilitate tooling use
- Fixed an issue where EFCore5 code was generating cascade delete commands in the wrong place (see https://github.com/msawczyn/EFDesigner/issues/243)
- Editing class properties and enum values as text now retains properties that aren't available in the text syntax (see https://github.com/msawczyn/EFDesigner/issues/242)
3.0
- Now supports EFCore5.X
- Added System.Net.IPAddress and System.Net.NetworkInformation.PhysicalAddress to the list of available property types
- Added ability to specify both default database collation and a collation override at the property level
- Many-to-many bidirectional associations are now allowed
- Any property type can now be used as an identity
- Can now customize backing field names for non-AutoProperty properties
- Properties with backing fields (i.e., non-AutoProperty properties) can now choose how EF will read/write those values (see https://docs.microsoft.com/en-us/ef/core/modeling/backing-field).
- Added support for keyless entity types created by defining queries
- Added support for keyless entity types coming from database views
- Enhancements and Fixes
- Added ability to globally add and remove exposed foreign key properties to all modeled entities (via menu command) (see https://github.com/msawczyn/EFDesigner/issues/223)
- Added ability to choose to place newly imported model elements on the diagram where they were dropped. Caution: this can be EXTREMELY slow for large imports. (see https://github.com/msawczyn/EFDesigner/issues/225)
- Added composition and aggregation indicators to association connectors
- Default code generation type is now the latest version of EFCore (currently, 5.0)
- Fixed inability to paste enumerations using diagram copy/paste
- Changing an identity property's type now changes the type of any defined foreign-key properties pointing to that identity property
- Title text color didn't always change when class/enum fill color changed in the diagram
- Selecting tabs or spaces for indentation in generated code has been moved to a property on the designer surface.
- Added ModelRoot.IsEFCore5Plus convenience property. It can be used in custom T4 edits
- Possibly breaking changes
- T4 template structure has been changed drastically to simplify managing code generation for the various EF versions.
If customized T4 templates have been added to a project, they'll still work, but enhancements will continue to be made only to the new, more
object-oriented, T4 structure. Updating the model's .tt file to use the new template structure is quite simple; details will be in the documentation
at https://msawczyn.github.io/EFDesigner/Customizing.html
2.0.5.7
- Added ability to select tabs or spaces for indentation in generated code (Tools/Options/Entity Framework Visual Editor/Visual Editor Options) (See https://github.com/msawczyn/EFDesigner/issues/221)
- Fixed an issue with changing visual grid size on design surface.
2.0.5.6
- The project item templates for the model file had wandered away. They're back again. (See https://github.com/msawczyn/EFDesigner/issues/216)
- Fixed a problem with existing models where class-level "AutoProperty: false" caused bad code generation. (See https://github.com/msawczyn/EFDesigner/issues/215)
2.0.5.5
- Fix: Foreign key crashes when reference is on the derived table (See https://github.com/msawczyn/EFDesigner/issues/212)
- Fixed a edge condition where an error would be thrown when deleting an association
2.0.5.3
- Provide option to save diagrams as uncompressed XML to facilitate version control (in Tools/Options/Entity Framework Visual Editor)
- Enhanced error reporting for assembly import errors
- Assembly import can now process assemblies with more than one DbContext class
- Cleaned up some ambiguities in how copy/paste was handled with multiple diagrams
- Performance improvements
2.0.4.1
- Fix: ensure glyphs in association compartments are visible
- Fix: overly-aggressive pruning in foreign keys
2.0.4
- Added ability to hide foreign key property names on association connectors in diagrams
- Attribute glyphs (except for Warning glyphs) in diagrams are now reflected in Model Explorer
- Sped up reverse engineering a compiled assembly. As a consequence, the diagram is no longer updated when the assembly is imported (but that tended to ruin the diagram anyway)
- Fix: Self-associations didn't appear when existing class is added to new diagram from the Model Explorer
- Fix: Diagram no longer loses focus after its saved
- Fix: Errors when copy/paste between diagrams in same model
- Fix: Generalization links weren't being handled property when reverse engineering a compiled assembly
- Fix: Under certain circumstances, declared foreign keys could erroneously be created for EF6 1-1 relationships. EF6 doesn't support this.
2.0.2
- Added count of elements in model explorer tree
- Added ability to search the model explorer for class and attribute names
- Comments can also be hidden like classes and enumerations
- Fix: Changing String Column Name Clears Max Length Property (See https://github.com/msawczyn/EFDesigner/issues/173)
- Fix: Dropping external files creates elements but not shapes on diagram (See https://github.com/msawczyn/EFDesigner/issues/150)
- Fix: VS Crash (See https://github.com/msawczyn/EFDesigner/issues/177)
- Fix: Attributes only show up on diagram where they were added (See https://github.com/msawczyn/EFDesigner/issues/179)
- Fix: EFDesigner 2.0.1 won't create entities in the efmodel for existing poco .cs files (See https://github.com/msawczyn/EFDesigner/issues/182)
2.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
- Foreign key properties that are primary keys also have a unique but different glyph
- Completely restructured assembly parsers; they now cleanly handle all valid 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 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"
- Join tables in many-to-many associations can now have custom names (EF6 only, until EFCore supports many-to-many cardinalities)
- Removing an enumeration removes all entity properties that use that enumeration, after displaying a warning.
- Designer has optional visual grid with color, size and snap-to-grid options available
- 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: Couldn'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)
- Fix: Now escaping XML comment text properly
- Fix: Issue with GeographyPoint: System.Data.Entities.Spatial not found for .Net Core 3.1 (See https://github.com/msawczyn/EFDesigner/issues/159)
- Fix: HasDefaultSchema doesn't work with MySql (See https://github.com/msawczyn/EFDesigner/issues/160)
1.3.0.12
- Last version supporting Visual Studio 2017
- 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