update MySqlConnector 1.0.0

This commit is contained in:
28810 2020-07-19 10:38:32 +08:00
parent 3e3dd62fd7
commit 7e3eff1f8b
4 changed files with 11 additions and 9 deletions

View File

@ -2,6 +2,7 @@
using FreeSql.DataAnnotations; using FreeSql.DataAnnotations;
using FreeSql.DatabaseModel; using FreeSql.DatabaseModel;
using FreeSql.Internal.CommonProvider; using FreeSql.Internal.CommonProvider;
using MySqlConnector;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -47,7 +48,7 @@ public class RazorModel {
public string GetCsType(DbColumnInfo col) { public string GetCsType(DbColumnInfo col) {
if (fsql.Ado.DataType == FreeSql.DataType.MySql) if (fsql.Ado.DataType == FreeSql.DataType.MySql)
if (col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Enum || col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Set) if (col.DbType == (int)MySqlDbType.Enum || col.DbType == (int)MySqlDbType.Set)
return $"{this.GetCsName(this.FullTableName)}{this.GetCsName(col.Name).ToUpper()}{(col.IsNullable ? "?" : "")}"; return $"{this.GetCsName(this.FullTableName)}{this.GetCsName(col.Name).ToUpper()}{(col.IsNullable ? "?" : "")}";
return fsql.DbFirst.GetCsType(col); return fsql.DbFirst.GetCsType(col);
} }
@ -243,7 +244,7 @@ public class RazorModel {
if (cstype == typeof(string)) return isInsertValueSql ? (fsql.Select<TestTb>() as Select0Provider)._commonUtils.FormatSql("{0}", defval) : $"\"{defval.Replace("\r\n", "\\r\\n").Replace("\"", "\\\"")}\""; if (cstype == typeof(string)) return isInsertValueSql ? (fsql.Select<TestTb>() as Select0Provider)._commonUtils.FormatSql("{0}", defval) : $"\"{defval.Replace("\r\n", "\\r\\n").Replace("\"", "\\\"")}\"";
if (cstype == typeof(bool)) return isInsertValueSql ? defval : (defval == "1" || defval == "t" ? "true" : "false"); if (cstype == typeof(bool)) return isInsertValueSql ? defval : (defval == "1" || defval == "t" ? "true" : "false");
if (fsql.Ado.DataType == DataType.MySql || fsql.Ado.DataType == DataType.OdbcMySql) if (fsql.Ado.DataType == DataType.MySql || fsql.Ado.DataType == DataType.OdbcMySql)
if (col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Enum || col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Set) if (col.DbType == (int)MySqlDbType.Enum || col.DbType == (int)MySqlDbType.Set)
if (isInsertValueSql) return (fsql.Select<TestTb>() as Select0Provider)._commonUtils.FormatSql("{0}", defval); if (isInsertValueSql) return (fsql.Select<TestTb>() as Select0Provider)._commonUtils.FormatSql("{0}", defval);
return isInsertValueSql ? defval : null; //sql function or exp return isInsertValueSql ? defval : null; //sql function or exp
} }
@ -255,10 +256,10 @@ public class RazorModel {
if (fsql.Ado.DataType != FreeSql.DataType.MySql && fsql.Ado.DataType != FreeSql.DataType.OdbcMySql) return null; if (fsql.Ado.DataType != FreeSql.DataType.MySql && fsql.Ado.DataType != FreeSql.DataType.OdbcMySql) return null;
var sb = new StringBuilder(); var sb = new StringBuilder();
foreach (var col in table.Columns) { foreach (var col in table.Columns) {
if (col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Enum || col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Set) { if (col.DbType == (int)MySqlDbType.Enum || col.DbType == (int)MySqlDbType.Set) {
if (col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Set) sb.Append("\r\n\t[Flags]"); if (col.DbType == (int)MySqlDbType.Set) sb.Append("\r\n\t[Flags]");
sb.Append($"\r\n\tpublic enum {this.GetCsName(this.FullTableName)}{this.GetCsName(col.Name).ToUpper()}"); sb.Append($"\r\n\tpublic enum {this.GetCsName(this.FullTableName)}{this.GetCsName(col.Name).ToUpper()}");
if (col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Set) sb.Append(" : long"); if (col.DbType == (int)MySqlDbType.Set) sb.Append(" : long");
sb.Append(" {\r\n\t\t"); sb.Append(" {\r\n\t\t");
string slkdgjlksdjg = ""; string slkdgjlksdjg = "";
@ -289,9 +290,9 @@ public class RazorModel {
/// </summary> /// </summary>
[Description(""{0}"")] [Description(""{0}"")]
Unknow{1}", str2.Replace("\"", "\\\""), ++unknow_idx); Unknow{1}", str2.Replace("\"", "\\\""), ++unknow_idx);
if (col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Set) if (col.DbType == (int)MySqlDbType.Set)
slkdgjlksdjg += " = " + Math.Pow(2, field_idx++); slkdgjlksdjg += " = " + Math.Pow(2, field_idx++);
if (col.DbType == (int)MySql.Data.MySqlClient.MySqlDbType.Enum && field_idx++ == 0) if (col.DbType == (int)MySqlDbType.Enum && field_idx++ == 0)
slkdgjlksdjg += " = 1"; slkdgjlksdjg += " = 1";
break; break;
} }

View File

@ -1,5 +1,5 @@
using FreeSql.DataAnnotations; using FreeSql.DataAnnotations;
using MySql.Data.MySqlClient; using MySqlConnector;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;

View File

@ -154,6 +154,7 @@ WHEN NOT MATCHED THEN
public int id { get; set; } public int id { get; set; }
public string name { get; set; } public string name { get; set; }
} }
[Fact]
public void InsertOrUpdate_OnePrimaryAndIdentity() public void InsertOrUpdate_OnePrimaryAndIdentity()
{ {
fsql.Delete<tbiou022>().Where("1=1").ExecuteAffrows(); fsql.Delete<tbiou022>().Where("1=1").ExecuteAffrows();

View File

@ -174,7 +174,7 @@ namespace FreeSql.Tests.ShenTongExpression
public TableAllTypeEnumType2 testFieldEnum2 { get; set; } public TableAllTypeEnumType2 testFieldEnum2 { get; set; }
public TableAllTypeEnumType2? testFieldEnum2Nullable { get; set; } public TableAllTypeEnumType2? testFieldEnum2Nullable { get; set; }
///* array */ //* array */
//public bool[] testFieldBoolArray { get; set; } //public bool[] testFieldBoolArray { get; set; }
//public sbyte[] testFieldSByteArray { get; set; } //public sbyte[] testFieldSByteArray { get; set; }
//public short[] testFieldShortArray { get; set; } //public short[] testFieldShortArray { get; set; }