⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog.txt

📁 LLBLGen 1.21 Sourcecode
💻 TXT
字号:
=============
KNOWN ISSUES:
=============
V1.2.08202002 (20-aug-2002)
- Generated code is not CLSCompliant due to the fact that the protected members of the abstract
  base class are seen as public methods by FxCop and the compilers, allthough they'll be private
  in an inherited class. This can be fixed easily in the generator but it will result in the 
  breaking of current custom classes which rely on the interface of the current base class
  DBInteractionBase. Therefor, to keep current code working, I decided to move this feature to
  a later version, probably v2.0.
- Weird characters in Table names and field names are not handled correctly. F.e. a '$' in a table
  name, will result in non-compilable code. Because it's bad practise to use those kind of characters
  in table names and field names, no fix is provided, allthough v2.0 will probably be handling this
  type of characters better. 
- Fields with a Default Value constraint are properly handled by the generated code, however due to
  the nature of T-SQL, the default value is emitted hard-coded in the T-SQL stored procedure. This is
  done to allow users to Insert values for fields with a default value, even if there is a default
  value. When the default value constraint changes for a particular field, the stored procedures for
  the table should be regenerated. The .NET code is not changed. When a default value constraint is
  removed from a field, plus it's not NULLable, the .NET code for that table should be regenerated,
  together with the stored procedures, if the developer wants NULL value checks for the property of
  that field: fields with default value constraints don't have NULL value checks. 
- When LLBLGen is started from a network share, or a shared drive, it may crash in a security violation.
  This is due to the fact that the default security settings are that strict that an application which
  is ran from a network share and which creats an instance of a class, will fail to do so. You can
  work around this by OR copying the LLBLGen executable (including the manifest) to your local harddrive,
  OR adjusting the security settings for the LLBLGen assembly to full trust. 

=============
CHANGES:
=============
--------------------------------------------------------------------------------------------------
V1.2.08202002 (20-aug-2002)
- FIXED: When ObjectPooling is selected as a COM+ service, a method CanBePooled() wasn't created in the
         abstract base class.
- FIXED: When a field is marked as Excluded and it has a Default Value constraint, LLBLGen will use that
         Default Value instead of the LLBLGen's default for the particular type of the field. 
- FIXED: When a field has a default value constraint and the field isn't NULLable, an extra ISNULL() 
	     check is emitted in the INSERT stored procedure, to prevent the insertion of NULL's and to
	     insert the default value instead. The default value is hardcoded in the stored procedure and
	     requires a regeneration of the stored procedures when that value changes in the table/field
	     definition. It's not very common to use default value contraints with non-NULLable fields 
	     however nor are default value constraints changed a lot. 
- FIXED: Timestamp fields weren't excluded from INSERT and UPDATE queries. This has been fixed. Also,
         the wrong default value for Timestamp fields has been removed: it's not used anymore.
- FIXED: ADO.NET contains a bug which doesn't allow a precision which is larger than 38. However, 
		 SQLServer's float datatype has a precision of 53. Generated code contains this precision
		 of 53 and fails at runtime. LLBLGen now contains a workaround for this bug and limits
		 the precision to 38. When MS fixes this bug (if ever), this workaround is removed.
- FIXED: In the frmDirPicker code, when the start directory supplied doesn't exist, LLBLGen will crash.
         This has been fixed: the first root node (probably 'A:') will be selected instead.
- FIXED: When the fonts are enlarged in windows, the gui sizes are not, which means that the texts on
         the controls look horrible. This is fixed. It appears to be a bug in the .NET windowsforms
         renderer: when a tab page is added at runtime, the controls on it aren't auto-resized to meet
         the requirements of the large fonts. This is avoided now, by adding all tab pages at the start
         of the program, but disabling all controls on the tab pages except the controls on the connection
         tab.
- ADDED: Added a known issues chapter to the documentation, plus changed the font into verdana which is much
         more readable than Tahoma. 

--------------------------------------------------------------------------------------------------
V1.2.08112002 (11-aug-2002)
- FIXED: Fixed some bug in the docs and a bug in the INSERT stored proc generator for SQLServer 7

--------------------------------------------------------------------------------------------------
V1.2.08022002 (02-aug-2002)
- FIXED: Fixed some textual errors in the generated code comments ('IDispose' is 
         ofcourse IDisposable etc.)
- ADDED: Added some more feedback text to generator
- FIXED: The progress bar now reflects the amount of work done correctly. 
- FIXED: The SQL type 'real' was suffixed with a length, like real(24), this is 
         incorrect, it should be just 'real'. 
- FIXED: Sometimes in VB.NET, the propertynames were caMel case, not PasCal case. 
         This is corrected.
- FIXED: Added '[' and ']' around property names in VB.NET code, which avoids conflicts 
         in VB.NET code with fieldnames which are also reserved words in VB.NET
- FIXED: When generating VB.NET code, values returned in parameters are not CType()-ed, 
         but are passed along to the SqlType in question, which seems to be a violation 
         of the Option Strict On rules. This is corrected.
- ADDED: Added a Connection Provider class to the LLBLGen generated classes, which will 
         create the database connection object. This class has methods which reflect the 
         ADO.NET transaction methods. When a data-access tier object is created, also 
         this Connection Provider object should be created and should be passed to the 
         data-access tier object. This data-access tier object will then use the 
         connection object of this Connection Provider object to perform all database 
         actions. This way, a data-access tier calling layer can start transactions 
         using ADO.NET methods and avoids using COM+ services which can be quite expensive. 
- ADDED: Added SelectOne methods for all fields which are NOT part of the Primary Key 
         and which have one or more of the following properties: a UNIQUE constraint, 
         is an Identity column, is a RowGUID column.
- FIXED: When no key is defined, OR when identity / rowGUID fields are not part of the 
         PK, identity fields and rowGUID fields will result in SelectAllW<fieldname>Logic 
         stored procedures. This is not correct, since these will result in 1 row, at most. 
         These two fieldtypes in that situation should result in a different SelectOne 
         routine, not a SelectAll routine. (thus SelectOneW<Fieldname>Logic), because 
         selecting on identity field or rowGUID will always limit your resultset to 1 row 
         at most. This is corrected.
- FIXED: SCOPE_IDENTITY() is not supported under SQLServer 7. This is corrected now: when 
         SQLServer 7 is used, LLBLGen will generate code which uses @@IDENTITY.
- FIXED: When a NULL value is passed for an SqlBinary or [n]text field, the [.Value].Length 
         property is invalid, which means the SqlParameter creation code fails. A null 
         value test is emitted when a field CAN be null and when there is a possibility that 
         the SqlParameter creation code will cause a nullvalue exception.
- FIXED: When no fields are returned by the query which retrieves all fields plus info, 
		 LLBLGen should report that and should SKIP that table. No fields are returned with: 
		 empty tables and with faulty constructed tables, f.e. with field with more than 1 FK 
		 constraint. This is corrected now: the table is skipped and a remark is emitted in the
		 stored procedure code.
- ADDED: Added code to the SelectOne methods which will populate all properties with the 
         data read from the table which was stored in the DataTable.
- FIXED: Added better member type grouping in generator. LLBLGen did produce f.e. 2 sections 
		 of SqlString member declarations will appear, because different SQLServer types 
		 result in the same C# / VB.NET type: SqlString (varchar, char, text, ntext etc. 
		 all do). Now, LLBLGen sorts on C#/VB.NET type.
- ADDED: Added View support, so Views can also be selected as 'tables' to generate code for. 
         (insert/selectall methods only due to the lack of PK/FK constraints)
- FIXED: When there is just 1 updatable field / insertable field, the SET clause or FIELDS list 
		 will contain a dangling ',' because it uses suffixes, not prefixes. This is corrected
		 now. Thanks to Colin Young for the patch-code.
- FIXED: When a user excluded one or more fields or when a table did include a computed field, 
         these fields weren't generated in the class member list nor as a property. This is
         corrected.
- FIXED: Some errors in the VB.NET code generator when COM+ services were selected. 
- FIXED: Several minor glitches which made the generated code not compilable nor useable in 
	     some odd circumstances.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -