Skip to content

Releases: danielgindi/SequelNet

More DateTime overrides for reader

13 Sep 11:53
Compare
Choose a tag to compare
  • You can now ask for the DateTime with a specified Kind
  • In the AbstractRecord generator - you can specify DATETIME_UTC / DATETIME_LOCAL for specific kinds

`Where` improvements

10 Sep 20:17
Compare
Choose a tag to compare
  • More overrides for Where
  • Now you can chain Where to automatically generate a WhereList
  • Support for WhereList as a Select value

Minor improvements, Moved to .NET 4.5.2

17 Aug 18:05
Compare
Choose a tag to compare
  • Added GetSafeOrdinal as a version that does not throw an out of bounds
  • More DateTimeAdd overload
  • Added GetBoolean(name) overload
  • Moved to .NET 4.5.2, since .NET <= 4.5.1 is not supported by Microsoft anymore since 1/1/2016
  • Updated MySql connector to to 6.9.9
  • Updated MySql connector to to 6.9.9
  • Updated Npgsql to 3.1.6

DataReaderBase major (non-breaking) transformation

05 Jul 12:10
Compare
Choose a tag to compare
  • Remove redundant data readers, turned into one conforming to IDataRecord, and IEnumerable
  • Added many more convenience functions to DataReaderBase
  • Added many column-name based convenience functions (to be used when performance does not matter, or you are reading only one row etc.)

Fixed ExecuteAggregate bug

22 Jun 14:05
Compare
Choose a tag to compare
  • Bugfix: ExecuteAggregate should always only include the aggregate column

New features, refactoring, breaking changes

18 May 15:43
Compare
Choose a tag to compare

Breaking changes - all for the sake of clarity and more expressive code

  • I wanted to do this one for a long time now: Fixed old typo in WhereComparision -> WhereComparison. (You can use replace all in your Entire Solution, with Match Case and Whole Word enabled)
  • Breaking change: Select does not clear select list automatically anymore. If you want to reuse a Query object and clear current Selects, just use ClearSelect()
  • Where(Where, clearWhereList) was removed. Use AddWhere
  • AddWhere(...) overloads are all starting with a WhereCondition. If you used the old syntax, please just use AND(...), it's much clearer.
  • All *Dirty* methods in AbstratRecord have been renamed to *Mutated*. Relevant to the new AtomicUpdates feature
  • Removed extraneous argument from new Join overloads (introduces in 1.0.1)

New features

  • More AddWhere overloads
  • Added (Where) constructors to most phrases (where relevant)
  • Added more convenience methods to PhraseHelper for all present Phrases
  • UnionAll is now subclassing Union
  • IsMutatedProperty in the DAL generator VSIX to allow observing mutations on complex column types.
  • Improved SelectAll methods (not requiring a connection now)
  • General refactoring and structuring of the code

Improvements to Phrases

15 May 17:07
Compare
Choose a tag to compare
  • Added more overloads to many of the quantitative phrases
  • Added more phrases to the PhraseHelper
  • Where can now be used as a value, in phrases, OrderBy, and GroupBy

New helpers, MD5, and some cleanup

13 May 14:31
Compare
Choose a tag to compare
  • New MD5 phrase, under dg.Sql.Phrases.Encoding
  • Changed many function argument names to lowerCase for CLS compliance.
  • Exposed Phrase private members for public usage
  • Added a CreateIndex helper that accepts an index'es name - and looks for the Index object by itself
  • Old Join overloads which do not Accept JoinColumnPairs are marked as Obsolete
  • New Join overloads for InnerJoin(...), LeftJoin(...), RightJoin(...) etc.
  • TableSchema.SchemaName renamed to TableSchema.Name. Old property still works.
  • AbstractRecord.TableSchema renamed to AbstractRecord.Schema. Old property still works.
  • New SchemaName property in AbstractRecord for convenience. Points at Schema.Name
  • New ExecuteCollection(...) helper in Query, to return an AbstractRecordList of a type
  • New constructor overloads for common Phrases
  • New PhraseHelper class with static constructors of common Phrases
  • Breaking change: In the VSIX DAL class generator, both FetchByID and Delete functions are now generated with the connection argument at the end. This is to keep consistency with the way it works in other functions across the library, and to allow a default value of null.

Quick tip:
If you want to migrate all old Join syntaxes to the new one, you can use a replace like this:
"Replace in Files", "Entire Solution", mark the "Regular Expression" box.
Find: \.Join\(([^,]+),\s*([^,]+\.(?:TableSchema|Schema)),\s*([^,]+),\s*([^,]+\.SchemaName|"[^"]+"),\s*([^,]+\.(?:TableSchema|Schema)),\s*([^,]+),\s*([^,]+\.SchemaName|"[^"]+")\)
Replace With: .Join($1, $5, $7, new JoinColumnPair($2, $3, $6))

Minor bugfixes

07 Apr 09:39
Compare
Choose a tag to compare
  • The column overload in PassThroughAggregate was faulty

Support for HAVING clause

28 Mar 07:15
Compare
Choose a tag to compare
1.0.0.50

1.0.0.50